STM32 IAP更新APP不成功

2019-07-21 05:51发布

现在做一个IAP更新程序,思路是这样的--上电复位2S内串口没有接收到更新指令,则跳转到app程序;串口如果有接收到特定的更新指令,就进入更新模式,且发送一段请求数据:plase send the updata file.现在上位机就发送app文件,单片机接收数据保存起来。再进行图一55行的判断,但是判断不符合条件?数据地址在图二进行的定义。对55行我的理解是判断从0x20001300(即数组首地址) + 4地址取出数据,在与上0xff000000,判断高4位是否为08,如果是,则表示文件正确?这个为什么要等于0x08000000没理解。现在就是这一步有问题,判断这一步的前面我打印出了这个值,等于0如图3所示。想问一下问什么这里需要等于0x08000000?现在是更新不了APP程序,本来烧进去的app是能正常运行,且就以此份固件生成的bin文档也更新不了。 图1 图1
2.jpg
3.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
gosomewhere
1楼-- · 2019-07-21 08:52
补充一张keil设置的图 4.jpg
yklstudent
2楼-- · 2019-07-21 12:33
两秒,这个时间卡的好
楼主试过效果怎么样
gosomewhere
3楼-- · 2019-07-21 17:12
 精彩回答 2  元偷偷看……
美丽的时光机器
4楼-- · 2019-07-21 17:56
中断向量表偏移设置好了吗?
零一三南宫南
5楼-- · 2019-07-21 19:28
你这应该是没把程序刷到Flash里面.....给你个建议,用J-Flash,IAP跑完以后准备跳转之前,用J-flash查看你刷的app代码是不是跟你的.bin文件的内容一样。
路人曦
6楼-- · 2019-07-21 23:36
或者你用j-flash把你的.bin文件烧到你要的地址上面,然后你裸跑程序,查看检查地址的数据,后能否正常跳转并且运行。

一周热门 更多>