用STM32F407做U盘IAP为什么有的APP跳转后可以运行有的不能

2019-07-14 16:26发布

我用STM32F407做U盘IAP,为什么有的APP程序跳转后可以运行,有的就不能运行,我的APP程序都单独引导执行是没有问题的。请教一下是什么原因引起的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
bobnice
1楼-- · 2019-07-15 02:09
60user108 发表于 2018-10-31 12:11
自己分析有问题的HEX和无问题的HEX是否有区别

从flash里读出来的bin文件和写入的bin文件做过对比,完全一样的
bobnice
2楼-- · 2019-07-15 02:23
自己顶一下
TOPCB
3楼-- · 2019-07-15 06:52
可能FLASH烧写不完整,用工具把FLASH数据读取出来,对比要烧写的内容,是否完整。
bobnice
4楼-- · 2019-07-15 10:52
TOPCB 发表于 2018-10-31 12:46
可能FLASH烧写不完整,用工具把FLASH数据读取出来,对比要烧写的内容,是否完整。

把FLASH里的数据读取过,和写入代码做过对比,完全一样的,后来发现不能执行的程序都是带有UCOS操作系统的程序,这些程序有个共同点,就是任务创建完成后有一个删除空闲任务的操作。把这句屏蔽掉,就能够执行了。还在找原因中。
TOPCB
5楼-- · 2019-07-15 11:34
 精彩回答 2  元偷偷看……
bobnice
6楼-- · 2019-07-15 11:49
TOPCB 发表于 2018-10-31 13:16
楼主看一下,删除任务后,会进入哪个错误?是不是进入了错误中断?

是的,每次都进入hartfault,通过在fault中断中添加返回操作,好像是返回了操作系统的任务延时中

一周热门 更多>