STM32串口IAP升级
1.分区
L073RZ 192K + 6K
分区 | 大小 |
---|---|
Bootloader | 64K |
APP | 72K |
Backup | 72K |
Memory | 6K |
分区 | 大小 | 备注 |
Bootloader | 64K | 引导程序 |
APP | 72K | App运行 |
Backup | 72K | APP备份 |
Memory | 6K | 数据存储 |
2.工程创建
1)BOOT
a.IR0M1
Bootloader的起始地址: 0x8000000
Bootloader的Size: 0x9000
b.定义
#define APPLICATION_ADDRESS (uint32_t)0x801E000 /* Start user code address */
#define BACKUP_APPADDRESS (uint32_t)0x800C000 /* Backup code : APP2 */
c.APP跳转
pFunction JumpToApplication;
uint32_t JumpAddress = 0;
void ExecApplication(void)
{
__disable_irq(); /* 在跳转APP之前,关闭中断。 */
/* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000