码迷,mamicode.com
首页 > 其他好文 > 详细

单片机的远程升级

时间:2021-04-28 12:19:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:数据   完成   cin   let   以太网   target   分区   stat   client   

IAP远程升级常用的通讯协议有TCP、HTTP、FTP、MQTT等。其中HTTP、FTP和MQTT都属于应用层协议。

网上的升级参考步骤:

技术图片

 

 我自己的升级方法:

  以太网(W5500)+ModbusTCP+TFTP+TCP Client Message +eerom

  1远端通过ModbusTCP发送write_coil_reg远程升级命令,将updata_status=0x01fe写入eerom.重启进入boot.

  2 boot查询eerom中的updata_status标记,若不需要升级则调整到APP;若为0x01fe则进入tftp升级线程。

  3创建tftp client从远程服务器位置下载文件到外部flash的download分区。直到下载完成。

  4 若下载成功,则将app拷贝到片内的backup分区,成功后再将外部flash的download分区拷贝到片内的app分区,若中间任何出错,则设置不同的updata_status状态,并将片内的back区数据拷贝回app。并写入eerom,然后进行调整到APP。

  5 APP查询eerom中的updata_status标记,创建tcp客户端将升级的结果("success"/"failed")通知给升级服务器,并得到服务器的回复("OK"),然后进入正常业务逻辑。

  6 远程升级结束。可以通过ModbusTCP读取updata_status得知升级失败的原因。

 

单片机的远程升级

标签:数据   完成   cin   let   以太网   target   分区   stat   client   

原文地址:https://www.cnblogs.com/jieruishu/p/14713007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!