[发明专利]一种ATmega单片机程序网络远程升级方法及其系统在审
申请号: | 201410320164.2 | 申请日: | 2014-07-07 |
公开(公告)号: | CN104090794A | 公开(公告)日: | 2014-10-08 |
发明(设计)人: | 聂雄;陈远阳 | 申请(专利权)人: | 南宁凯美电子科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 广西南宁公平专利事务所有限责任公司 45104 | 代理人: | 刘小萍 |
地址: | 530007 广西壮族自治区*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 atmega 单片机 程序 网络 远程 升级 方法 及其 系统 | ||
技术领域
本发明方法涉及计算机信息处理及ATmega单片机写码技术,特别是一种将HEX格式的机器码文件通过网络通信接口传输到ATmega单片机(以下简称单片机),并应用IAP技术将机器码程序写入单片机片内Flash的方法。
背景技术
ATmega是ATMEL公司推出的一款新型AVR高档单片机,具备更多的接口功能,而且在省电性能、稳定性、抗干扰性以及灵活性方面较为周全和完善,该单片机广泛应用于各种电子产品中。对于程序的下载,传统的方法是先把通过专用下载线连接ATmega单片机,在写码软件的控制下,完成HEX机器码程序写入到单片机的片内FlashROM。传统方法的缺陷或不足:由于每次写码先判断机器电源,并使用专用下载线连接PC和单片机,进行下载操作,下载完成后,移除下载线,单片机重新开机才能正常运行新下载的程序,这种方法效率低下,操作方法复杂,需要专用的下载工具,不能实现远程下载等缺点。
发明内容
本发明所要解决的技术问题是提供一种ATmega单片机程序网络远程升级方法,该方法是基于ENC28J60网络通信接口,采用网络传输实现ATmega单片机在IAP方式下的软件写码或升级。
本发明以如下技术方案解决上述技术问题:
一种ATmega单片机程序网络远程升级方法,它包括如下步骤:
A、上电或复位:ATmega单片机上电开机或复位,进入下述步骤B;
B、单片机初始化:单片机进入IAP工作模式,读取EEPROM上的网络通信参数,并配置ENC28J60,完成网络接口初始化,进入下述步骤C。
C、循环等待PC端命令:循环等待接收PC端命令,如果收到PC端命令,根据收到的命令,分别转入步骤D或步骤H;如果没有接收到PC命令,5s后面自动返回步骤C。
D、如果接收到的PC端命令为“开始下载”,进入步骤E;如果收到的PC端命令不是“开始下载”,进入步骤H。
E、接收HEX机器码数据:单片机查询接收PC通过网络接口传输过来的HEX机器码数据,进入步骤F;
F、机器码数据写入到FlashROM:将接收到的HEX文件数据写入到ATmega的片内用户程序FlashROM,进入步骤G;
G、判断写码是否完成,如果写码未完成,返回步骤E,如果写码完成,退出IAP模式,返回步骤C,重新等待PC端命令。
H、判断接收到的PC端命令是否“执行用户程序”,如果收到“执行用户程序”命令,则进入步骤I;没有收到“执行用户程序”命令,返回步骤C。
I、执行用户软件:正常执行用户软件,进入步骤J;
J、判断网络接口是否接收到“软件复位”命令,如果收到复位命令,进入步骤K,否则,返回步骤I,继续执行用户程序。
上述步骤D中,如果接受到的不是“开始下载”命令,可以增加下述步骤:
L、判断接受到的PC端命令是否为“校验”,是的话,进入步骤M,不是的话进入步骤H;
M.检验FlashROM数据:顺序读取FlashROM数据,与PC端HEX文件比较,进入步骤N;
N、判断FlashROM数据与PC端HEX文件是否存在不一致的内容,如果存在不一致的内容,进入步骤O,如果没有不一致内容,直接返回步骤C。
O、置校验错误标志:设置检验错误标志,返回步骤C。
上述步骤A、步骤B和步骤C,通过启动模块执行用户操作。
上述步骤D中,通过判断模块一判别接收到的PC端命令是否为“开始下载”命令。
上述步骤L中,通过判断模块三判别接收到的PC端命令是否为“校验”命令。
上述步骤H中,通过判断模块二判别接收到的PC端命令是否为“执行用户程序”命令。
上述步骤E、步骤F和步骤G,通过执行模块一执行对应操作。
上述步骤I、步骤J和步骤K,通过执行模块二执行对应操作。
上述步骤M、步骤N和步骤O,通过执行模块三执行对应操作。
一种ATmega单片机程序网络远程升级系统,它包括:
启动模块,用于ATmega单片机的启动,包括ATmega单片机的上电或复位,进行初始化,并进入循环等待接受PC端命令状态;
判断模块一,用于判别接收到的PC端命令是否为“开始下载”命令;
执行模块一,用于执行当接收到的PC端命令为“开始下载”时,对应操作。所述对应操作包括执行接受HEX机器码数据,并将数据写入FlashROM;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南宁凯美电子科技有限公司,未经南宁凯美电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410320164.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环境部署方法及装置
- 下一篇:一种销毁安卓手机机身数据的装置和方法