stm32f407 IAP实验

通过看原子的视频教程,自己写了一个简单的串口IAP实验。
基础知识:在线编程(ICP)
通过JTAG/SWD协议或者系统加载程序下载应用程序到微控制器中。
程序编程(IAP)
通过任何一种通信接口(如IO端口,USB,CAN,UART,I2C,SPI等)下载程序或者应
用数据到微控制器存储器中

bootloader程序作用:1:接受app程序
2:存储接受到的程序
3:跳转执行
要注意bootloader程序占用的空间大小
stm32f407 IAP实验_第1张图片我使用的keil软件,bootloader程序大小,是红圈内两个数据相加

app程序
1:设置app起始地址和程序空间大小
2:设置中断向量表偏移
3:设置MDK编译后运行fromelf.exe,生成.bin文件.
app程序起始地址的设置
stm32f407 IAP实验_第2张图片如红圈所示,具体的值需要根据bootloader大小改变

设置中断向量表偏移
例如:
SCB->VTOR = FLASH_BASE | 0x10000;
FLASH_BASE 是基础地址(0x8000000)不改变
0x10000是偏移地址,是需要改变,根据bootloader程序大小来改变

生成bin文件
stm32f407 IAP实验_第3张图片
D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o …\OBJ\LED.bin …\OBJ\LED.axf

下面是我自己写的程序
bootloader程序
stm32f407 IAP实验_第4张图片
stm32f407 IAP实验_第5张图片
app程序
stm32f407 IAP实验_第6张图片

你可能感兴趣的:(单片机)