[其他ST产品] STM32+IAP方案 实现网络升级应用固件

[复制链接]
 楼主| 等你下课 发表于 2023-1-15 23:52 | 显示全部楼层
如此,才能生效,否则,可能原因:
修改后的向量表偏移,在之后的程序中,又再次被还原,通过如下的函数:
 楼主| 等你下课 发表于 2023-1-15 23:52 | 显示全部楼层
  1. void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset);
  2. void SystemInit (void);
  3. SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;
 楼主| 等你下课 发表于 2023-1-15 23:53 | 显示全部楼层
附:
1、如需要.hex文件转.bin,参见上边的文章
当然,就算使用.hex文件,同样可以升级,只是需要修改IAP中判定已经升级的文件是否有效,文件条件部分的代码,
  1. if(((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
 楼主| 等你下课 发表于 2023-1-15 23:54 | 显示全部楼层
地址偏移后的app应用程序,是否能够独立的运行?
不能,理由:
7494063c4218f739b5.png
可知,开机上电并不能够找到我们指定的偏移后的向量表。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
快速回复 在线客服 返回列表 返回顶部