计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

ATMEGA128单片机的软件远程升级(2)

2017-08-31 06:17
导读:例如要通过监控终端升级基站1中ATMEGA128的软件,则要在监控终端中启动写码软件,将编译完成的升级代码按照表1所示的系统帧格式打包,

例如要通过监控终端升级基站1中ATMEGA128的软件,则要在监控终端中启动写码软件,将编译完成的升级代码按照表1所示的系统帧格式打包,依照代码在程序存储区的先后次序依次发出。从图1中可看出要通过监控终端升级基站1中的软件,还要经由两个中间节点:主控单元和基站控制中心,其时序流程如图2所示。

首先,监控终端发出一代码帧到主控单元,主控单元根据代码帧中的下载目标地址判断应传送的下一节点——基站控制中心。当主控单元轮询到基站控制中心时,将收到的代码帧发送给基站控制中心。同样,基站控制中心根据代码帧中的下载目标地址,将代码帧下载并传送到要升级的基站1的处理器ATMEGA128单片机中。单片机接收到代码帧后首先将此代码帧回传给基站控制中心,然后将程序跳转,运行bootloader程序区段。此时应用程序区段处于忙状态,运行bootloader程序区段的程序,根据代码载入地址将程序代码写入应用程序存储区的正确位置,并在bootloader程序区段继续运行,等待后续到达的代码帧。而回传的代码帧同样经过两级节点返回到监控终端。监控终端收到后与发送的代码帧进行比较,准确无误后方可传送下一帧数据,否则重发。

图3给出了代码写入主程序流程图。当代码帧下载到基站1的控制单片机ATMEGA128后,当检测到帧类型为升级代码帧“Y”时,触发代码升级程序,程序由应用程序区段跳转至bootloader程序区段。在此区段可以对应用程序区段进行读、写等操作,同时接收通过USART串口不断传来的代码帧。

在代码开始写入前,首先将存于EEPROM中的写入操作开始标志位置位,然后判断操作控制字以检测

上一篇:谈刚性楼板假定的工作原理及其选用方法 下一篇:没有了