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

用ML302远程升级STM32F1固件要怎么做?

[复制链接]
hejun96 提问时间:2020-7-17 15:42 /
目前接触到中移的4G模块ML302,但是不知道怎么用它OTA远程升级STM32F103的固件,有坛友知道的吗?
收藏 评论4 发布时间:2020-7-17 15:42

举报

4个回答
cloudcn 回答时间:2020-7-17 16:00:46
自己写bootloader 代码估计要留到16k左右 一般在flash前面留16k 上电后检测标记 决定是升级还是运行
主程序需要升级时 设定标记并重启

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

butterflyspring 回答时间:2020-7-29 10:15:41
看看厂家的应用笔记和例程就会清楚很多了。很多人都是这么走过来做产品的
zhuoyemp4 回答时间:2020-7-29 13:44:29
把flash分两部分,一部分放BOOT,一部分放APP。再留几个字节放升级标志位。
自己写BOOT,上电先运行BOOT,检查升级标志位,如果升级标志存在说明已经升级成功就跳转到APP,如果升级标志被清,说明升级失败,就在BOOT中运行,等待升级指令,直至升级成功后再跳转到APP。

当在APP中运行时,收到升级指令后把升级标志清掉,再跳转到BOOT。

你需要做一套升级的协议,比如查询版本号、升级状态,写数据、跳转、固件CRC校验,校验结果查询等等。考虑好升级失败后怎么处理,哪些情况会导致错误(比如固件CRC校验失败,固件大小超过了你的FLash大小,某一包失败时重传还是重新从第一包开始传等等)画个自己的升级流程图慢慢实现。

另外,是外挂Flah还是就用MCU的flash都要考虑清楚,机制差不多,只是详细步骤差一点点。有问题我们可以再探讨,祝你成功。

BOOT做的尽量简洁,只负责搬固件数据。

评分

参与人数 1蝴蝶豆 +4 收起 理由
STMCU + 4

查看全部评分

回答时间:2020-7-30 09:33:41
自己写下载过程,将下载的数据存储到指定的地方,然后进入boot刷新新的程序。如果空间足够大,可以再boot中增加通讯过程,直接更新app程序。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

所属标签

相似问题

官网相关资源

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