stm32f407 IAP实验

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

bootloader程序作用:1:接受app程序
2:存储接受到的程序
3:跳转执行
要注意bootloader程序占用的空间大小
在这里插入图片描述我使用的keil软件,bootloader程序大小,是红圈内两个数据相加

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

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

生成bin文件
在这里插入图片描述
D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o …\OBJ\LED.bin …\OBJ\LED.axf

下面是我自己写的程序
bootloader程序
在这里插入图片描述
在这里插入图片描述
app程序
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值