#技术资源# #申请原创#
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页,由于没有电子版的,只能拍照展示。
|