STM32F4基于串口USART1的IAP功能学习

1. 硬石科技的IAP功能

1.1 bootloader采用swd进行下载,下载到FLASH 中0x0800 0000为起始地址的flash中;

1.2. app采用串口发送的方式进行下载,首先存放在ram中,bootloader程序初始化后会定义一个内存区域strAppBin,其定义为

struct  STRUCT_IAP_RECIEVE   
{
 uint8_t   ucDataBuf[APP_FLASH_LEN];
 uint16_t  usLength;
} strAppBin;

  如果按键KEY1按下,则进行RAM到FLASH 的copy操作IAP_Write_App_Bin()函数;

1.3. app中设定的偏移量为 SCB->VTOR = FLASH_BASE | 0x10000;。这样如果按键KEY2按下,开始运行app程序后,则会从0x0801 0000 进行app的死循环;

 

上一篇:IAP地址问题--jump语句


下一篇:STM32 IAP远程更新实现方案设计(未实践)