STM32 串口IAP

来源:互联网 发布:js 对象访问器 编辑:程序博客网 时间:2024/06/01 15:08

一、制作应用程序的.bin文件

1.打开一个应用程序的工程文件,再打开KEILL设置界面,将IROM1的起始地址改为0x8010000,size改为0x70000。该意思表示制作的应用程序.bin文件从STM32的flash的0x8010000位置开始存放,同时还表示IAP引导程序最大只能占用0x10000大小。设置入下图


2.需要将应用程序.bin的中断向量表偏移0x10000位置大小

在应用程序主函数下面添加一句:SCB->VTOR = FLASH_BASE | 0x10000;

3.利用KEILL生成应用程序的.bin文件

在keill中利用keill自带的fromelf.exe插件来生成。具体需要在keill的设置选项的User中的After Build中添加入下语句:C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -oC:\Users\Administrator\Desktop\GPIO-流水灯-自定义宏操作/Output/@L.binC:\Users\Administrator\Desktop\GPIO-流水灯-自定义宏操作/Output/@L.axf  红色表示fromelf.exe插件的所在路径,蓝色表示.hex和.axf等文件文件路径。如下图:设置完成编译即可生成。

二、IAP程序制作及使用

IAP程序需要利用串口将从串口助手传来的.bin文件接收下来,然后将该数据写入到STM32的以0x8010000为起始地址的FLASH中。然后再跳转到0x8010000地址去运行应用程序。

原创粉丝点击