我的项目流程是:IAP程序和APP程序合并成一个HEX文件,然后烧写进STM32,可以正常运行,也就是先运行IAP程序然后跳转到APP运行。
然后我发送一个命令,我APP程序会从服务器获取bin文件,烧写进去外部flash(SPI通信的),然后重启,进入IAP,它会从外部flash读取数据烧写进APP中。
成功后,判断栈地址成功,可是跳转不进去APP。
现象:一开始的硬件,可以完美的更新一段时间,之后就出现上面的问题,可是栈地址是对的。
然后更换了另外一个硬件,试了两三次,放了几天让它运行,之后给升级命令,也出现上面情况。
虽然感觉我描述的不太清楚,也没有很具体的说明现象,我也找不出什么细节出现错误,从服务器烧写进外部flash和读 的数据应该正确的。
所以我来论坛碰碰运气,大伙说说可能的原因,谢谢了!
对了,论坛新手,抱歉没那么多金币给大家。
不是,意思是说升级的程序跟原来的改动一点点,意思是说栈头地址肯定相同的。请问有什么方法可以比较是否烧写进去的程序是没错的呢?
一周热门 更多>