首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于GPRS的单片机固件升级系统设计
来源:本站整理  作者:佚名  2010-09-05 08:49:31




2.1 升级系统软件设计
    本系统软件由两部分组成:主程序和升级程序,分别对应于Main工程和Update工程。Main工程负责与远端服务器进行通信,接收服务器发送的指令并进行相应操作;而Update工程编译、链接时,在其编译器链接选项中设置CODE(OxE000,PR?MAIN?UPDATE(0xE000)),可将Upd-ate工程编译、链接后生成的hex文件烧写到单片机内部Flash以0xE000作为起始地址处,同时默认地将Main工程编译、链接生成的二进制文件烧写到内部Flash的起始地址处。单片机在执行主程序过程中,检测到升级标志置1后,单片机跳转到升级程序地址处执行固件升级程序;升级完毕后,复位单片机,程序又从内部Flash的零地址开始执行更新的固件程序。图4为主程序流程,图5为相应的固件升级程序流程。主程序在运行过程中受远程服务器的实时控制。当固件程序需要更新时,在服务器端将准备更新的固件编译、链接后生成的hex或bin文件放入某一固定目录内,启用FTP服务器(如FtpMan),通过TCP/IP协议发送远程升级指令给测试终端;终端收到升级指令后启动相应的FTP接收功能,将远端文件分解成多个数据包并逐个存储在外部Flash中;存储完毕后,主程序会对该接收文件进行CRC校验,若校验无误,则通过函数指针跳转到升级程序功能区,启动升级程序,将二进制文件从外部Flash中转移到内部Flash对应的地址空间中去。单片机复位重启后,就可以从内部Flash的起始地址处执行更新完毕的程序。

                 


2.2 函数指针应用
    当主程序检测到升级标志后,主程序跳转到升级程序地址处执行升级固件程序,此处使用了函数指针的功能。
   
结语
    本文设计了基于GPRS网络传输的终端固件升级系统,给出了合理的芯片选型,以及独立的固件升级程序。该升级系统已应用到实际产品应用中,并取得了很好的效果。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:116,453.10000 毫秒