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。。

  • 相关阅读:
    局域网中CSMA/CD协议的应用
    RIP及距离向量算法
    网桥与以太网交换机
    C++ String
    C++ Input & Output
    Shell Script(1)----variable compare
    python--内建函数(1)
    python--data type
    python--compile
    python--help
  • 原文地址:https://www.cnblogs.com/jieruishu/p/14713007.html
Copyright © 2011-2022 走看看