天天看点

STM32 IAP在线升级STM32

关于STM32 IAP在线升级的个人理解

  • STM32
    • 程序思路
    • IAP升级流程图

STM32

程序思路

      使用IAP在线升级的大致思路是:在用户应用程序——即地址为0x80000000之前,以及STM32开始设计FLASH的地址——0x08000000之后,在STM32没有占用的Flash地址空间内,划出一个区域,将升级包(bin文件)拷贝到扇区内(注意自己所使用的芯片Flash的大小),通过检验数据包的帧头帧尾来确定数据包的真实(帧头用几帧数据来判断是否为升级文件,帧尾可以用CRC校验来留出两个数据帧来确定数据包没有出现问题),然后将在Flash内存储的数据拷贝到0x80000000之后的自己设置的偏移地址中,且重新设置中断向量表至偏移地址,当程序从用户程序开始执行,判断到没有升级包之后跳转到新的程序之后,完成升级。

      需要做的有两个程序:

      1.做出BootLoader程序

      2.做出有客户需要功能的用户程序(设置能生成bin文件)

      两个程序要保证工程一样

IAP升级流程图

STM32 IAP在线升级STM32