stm32 iap 远程升级方案讨论

2019-12-27 19:01发布

我想通过GPRS实现STM32的远程升级,想法是把512kflash分成两个应用程序区,平常工作在A区,如果收到升级数据就先写入B区,全部写完后如果校验通过就在某个位置上置标志位然后重启系统。系统在引导区的时候根据标志位来运行A区或B区。有谁能提供个思路呢???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
100条回答
abnerle
2020-01-06 13:52
IAP升级成功了,但是重启之后,就是无法正常执行了,始终在不停的重启,为什么???
if (((*(vu32*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
        
       {
            // Jump to user application
            JumpAddress=*(vu32*)(ApplicationAddress+4);
            Jump_To_Application=(pFunction)JumpAddress ;
            // Initialize user application's Stack Pointer
            __set_MSP(*(vu32*)ApplicationAddress);
            Jump_To_Application();
        }
执行完这段之后,就重启了,始终在这里重启,ApplicationAddress = 0x08010000

一周热门 更多>