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

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

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

举报

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

不错
七哥 回答时间: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的时候影响系统初始化,开机运行受影响。
Kevin_G 回答时间:2019-8-14 16:02:37
不错
andey 回答时间:2019-8-14 17:46:15
提示: 作者被禁止或删除 内容自动屏蔽

所属标签

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