产品出货后,有时候因各种问题(如:增加功能或补丁Bug等等)需要远程进行升级固件(就是通过串口对新唐单片机N76E003 进行远程升级),我的基本思路是:将N76E003分为两个区,一个是APROM划为14K,LDROM划为4K空间。产品出厂时,通过ICP同时烧录两个程序,一个主程序放在APROM,一个远程升级用的协助程度放在LDROM。出厂时,设置为APROM为启动位置。
当产品需要升级时:通过协议,设置为LDROM为启动项,接着重启单片机。等待重启完毕。这时运行的是程序是LDROM的。
接着,通过串口将APROM的程序发送过去,单片机内部通过IAP功能将程序更新。最后,远程发送一个升级指令,修改config配置从LDROM启动,重启到LDROM运行,接收数据写APROM。升级成功后,修改config配置从APROM启动,重启后就回到了APROM。
重启单片机。升级完毕! |
目前正在做这个,给N76E003 连接一个联网模块(wifi 蓝牙 zigbee 等),通过串口写入 新程序数据,从而达到 ota 升级