查看: 1908|回复: 1

OTA原理详解

[复制链接]
  • TA的每日心情
    慵懒
    2016-10-24 09:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-3-1 15:47:44 | 显示全部楼层 |阅读模式
    分享到:
    云端OTA通知推送
    云端只会给当时在线设备推送;对于当时不在线,或者没升级成功的设备,云端会每天推送一次。


    MCU OTA:包括下载、存储、校验、传输4个过程。
    下载、存储、校验同GAgent OTA一样;
    传输:通知MCU有固件传输,并分片传输给MCU,每片需要进行sum校验,传输完成后mcu需要进行md5校验。MCU成功后重启GAgent,以让GAgent重新握手获取更新后的MCU信息。


    111410rpwgp7pqdsz395sx.png


    MCU实现OTA流程:
    • GAgent首先检查wifi固件是否需要升级,有则进行OTA,无则进行MCU固件检查,有muc固件需要OTA则进入第二步。
    • 下载对应mcu新固件到wifi模组的flash区域。并对其做固件完整性校验(一般是MD5校验)。
    • 固件检查完成且正确,通知MCU有新固件可以给MCU OTA。
    • MCU接收到OTA信息之后,自己判断是否需要OTA,需要则发送需要OTA固件信号给GAgent,这个时候GAgent则发送固件数据给MCU。
    • MCU接收到数据之后,自行做数据处理,实现对MCU的升级。

    MCU的OTA实现,数据传送师走串口大数据传送指令,协议内容可以向对应PM获取。





    GAgent OTA:包括下载、存储、校验、更新4个过程。
    • 下载:获取下载链接并判断是否需要下载(硬件版本号一致,软件版本号大于当前软件版本号),进行下载,目前不支持断点续传。下载失败后不再下载。
    • 存储:下载过程中进行分片存储到flash中缓存区域。
    • 校验:进行md5值校验,确认文件传输正确。
    • 更新:有主、备两个区域。替换进行更新,确认如果更新失败,程序仍然可以从另一区域正常启动。



    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-9-29 06:17
  • 签到天数: 1361 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-3-12 12:24:25 | 显示全部楼层
    谢谢楼主分享,学习了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-22 22:42 , Processed in 0.123672 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.