打印
[APM32F0]

APM32F0系列IAP升级与STM32F0的差异

[复制链接]
199|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Alden|  楼主 | 2025-3-31 15:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
#技术资源# #申请原创#
IAP(In-Application Programming)升级是一种通过通信接口实现固件更新的技术,允许设备在运行状态下完成程序更新,无需专用烧录工具。其核心原理是通过Bootloader程序将新固件写入Flash存储器的指定区域,并实现控制权的安全转移。


在测试APM32F030的IAP升级例程发现APM32的SDK升级跳转的方式很简洁,直接配置中断向量表的偏移就可以了。

测试了下确实是能用的,bootload正常跳转到APP中运行。

而找了下以前STM32F030的IAP例程,发现ST的需要在bootload和APP中做特殊的处理,把中断向量表映射到RAM中。
要更加复杂。


APM32F030虽然也可以使用STM32F030的映射方式,但很明显APM32F0的更加简洁方便。
查找ARM的《ARM Cortex-M0与Cortex-M0+权威指南》发现了该差异的根本原因在于APM32F0的是M0+内核,STM32的是M0内核,M0+内核具备一些新特性。
就是这个TBLOFF 向量表偏移寄存器。
所以APM32F0具备更简单的IAP升级方式。


在书的第185页,由于没有电子版的,只能拍照展示。

使用特权

评论回复
沙发
qiangtech| | 2025-4-1 11:46 | 只看该作者
是的,做项目的时候发现了。极海F0是M0+内核的,可以直接用向量表偏移的方式,M0内核的就不能这样,它没有SCB->VTOR寄存器。
>

使用特权

评论回复
板凳
onemoren| | 2025-4-1 16:43 | 只看该作者
不用不知道,M0+还有这种人性化设计.

使用特权

评论回复
地板
和谐智者| | 2025-4-1 23:02 | 只看该作者
M0+是M0的升级版本,看来实用性也增强不少

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

91

帖子

1

粉丝