访问电脑版页面

导航:老古开发网手机版STM32单片机的IAP

STM32F030之IAP代码编写

导读:
关键字:
STM32F030,IAP,

  程序收尾总想着以后更新的方便性,采用在应用编程(In ApplicaTIon Programming),通过Bootload引导单片机自己往程序存储器里写数据或修改程序。下面简介STM32F030的IAP方法。不同于STM32F1系列,F0没有中断向量偏移寄存器。所以在APP程序的开头要添加以下代码。为什么这样做??

  可以看到函数用了for循环将矢量表拷贝到0 x20000000 SRAM的基地址,即将矢量表由Flash映射到了SRAM。所以在MDK里面设置Flash偏移地址的时候,同时要设置SRAM偏移地址。如下截图

  //APP程序开头加入IAP_Set(void)函数

STM32F030之IAP代码编写

  有Target对话框可以看出APP程序有Flash地址0x8001400开始执行。Sram数据则有0x20000c0出开始存储。

  说完APP代码要处理事项,下面说一下IAP代码编写

STM32F030之IAP代码编写

  程序更新完以后执行以上跳转函数即可执行更新的APP代码。关于如何通过IAP将代码将APP代码(bin文件)传到单片机Flash,可以通过串口分包传输。因为F0Flash是1K为一页所以这里我用的是1K缓存,即接收串口1K的数据量就执行一次Flash写操作,传输到最后不满1K,填写0XFF按照1K数据写。写Flash代码如下

STM32F030之IAP代码编写

  关于IAP如何接收串口的数据,我用的是正点原子的XCOM V2.0串口调试助手通过协议传输每次传输128字节数据,执行的IAP串口数据接收。

来源:网络整理   作者:工程师3  2018/4/24 14:12:00
栏目: [ STM32单片机的IAP]

相关阅读

STM32F030之IAP代码编写

STM32F0XX Cortex-M0 IAP

基于STM32的IAP升级程序分享

STM32单片机的IAP向量问题解决方案

STM32 IAP 在线更新程序问题

STM32 IAP(在线更新程序)的使用关键点

STM32L系列单片机内部EEPROM的读写

基于IAP的STM32程序更新技术

如何采用STM32单片机实现IAP功能

IAP技术助力STM32进行程序更新