STM32
直播中

张莉

7年用户 1276经验值
私信 关注
[问答]

如何通过JTAG/SWD写一个简单的串口IAP实验?

如何通过JTAG/SWD写一个简单的串口IAP实验?

回帖(1)

苗媛媛

2021-10-11 16:44:11
通过看原子的视频教程,自己写了一个简单的串口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_v5ARMARMCCbinfromelf.exe --bin -o …OBJLED.bin …OBJLED.axf
下面是我自己写的程序
bootloader程序










app程序


举报

更多回帖

发帖
×
20
完善资料,
赚取积分