zoukankan      html  css  js  c++  java
  • 单片机的远程升级

    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得知升级失败的原因。

     tfp远程升级:

      参考文章:C语言实现的简易FTP客户端 ,RT-thread网友的实现

           rt-thread 基于ftp server的软件包为agile_ftp。。

  • 相关阅读:
    序列化注意事项
    HTML5的新结构标签
    MVC模型
    CSS选择器权重计算规则
    HTML常用布局
    盒模型
    Spring Security 学习笔记-session并发控制
    java实例之随机点名
    java之方法重载
    java之方法
  • 原文地址:https://www.cnblogs.com/jieruishu/p/14713007.html
Copyright © 2011-2022 走看看