你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

自己完成的MCU OTA升级功能工作流程总结

[复制链接]
奏奏奏 发布时间:2019-8-13 20:09
如图,给有需要的同行借鉴或者讨论。
网关MCU升级流程总结.jpg
收藏 3 评论11 发布时间:2019-8-13 20:09

举报

11个回答
mmuuss586 回答时间:2019-8-14 09:33:08

不错
toofree 回答时间:2019-8-14 09:44:36
学习
glenxu 回答时间:2019-8-14 09:45:35
学习了,其实看不懂
any012 回答时间:2019-8-14 10:17:32
请教,bootloader为什么要分任务一和任务二,下载完后直接更新app不行吗?

任务一中:
“运行0.2秒后,写入标志位F1,令重启后跳转到A区,目的防掉电后变砖”
这段不懂,任务一和任务二必须在0.2秒内完成吗?
奏奏奏 回答时间:2019-8-14 10:42:36
any012 发表于 2019-8-14 10:17
请教,bootloader为什么要分任务一和任务二,下载完后直接更新app不行吗?

任务一中:

(1)直接更新APP的风险在于,如果接收OTA数据包的过程中意外断电,即使重新上电也会变砖。

(2)写入标志位要快,如果等开机10秒后写入,那么这10秒期间断电就直接变砖。

(3)并非任务一和任务二必须在0.2秒内完成,而是写入标志位到FLASH这个操作必须在0.2秒内完成。目的就是防止意外断电重启后变砖。
any012 回答时间:2019-8-14 10:56:17
谢谢,受教。

就是bootladder任务一,开始0.2秒以后,将启动标志位设为app启动,如果下载完成,则将启动标志设为任务二启动,在这之前如果断电,说明下载未完成,启动后重新执行app任务。
任务一完成后,重启进入bootladder任务二,更新app程序,在此期间断电的话,重启进入的还是bootladder任务二,重新更新app程序,直到完成后,设启动标志为app任务。

那么bootloadder任务二里,没有必要再设置一遍启动标志吧?


奏奏奏 回答时间:2019-8-14 11:17:45
any012 发表于 2019-8-14 10:56
谢谢,受教。

就是bootladder任务一,开始0.2秒以后,将启动标志位设为app启动,如果下载完成,则将启动标 ...

经过这么提醒,确实任务二中第一次写入启动标志是多余的。
any012 回答时间:2019-8-14 11:27:33
奏奏奏 发表于 2019-8-14 11:17
经过这么提醒,确实任务二中第一次写入启动标志是多余的。

还有个疑惑,任务一中,为什么要经过0.2秒后才设置启动标志,一开始就设置启动标志不行吗?
奏奏奏 回答时间:2019-8-14 12:26:55
any012 发表于 2019-8-14 11:27
还有个疑惑,任务一中,为什么要经过0.2秒后才设置启动标志,一开始就设置启动标志不行吗? ...

我试一下。
之前是因为写入FLASH的时候影响系统初始化,开机运行受影响。
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版