STM32/STM8技术william hill官网
直播中

訾存贵

7年用户 920经验值
私信 关注
[问答]

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

我用STM32F407做U盘IAP,为什么有的APP程序跳转后可以运行,有的就不能运行,我的APP程序都单独引导执行是没有问题的。请教一下是什么原因引起的呢?

回帖(8)

崔明华

2018-10-31 11:00:02
自己分析有问题的HEX和无问题的HEX是否有区别
举报

訾存贵

2018-10-31 11:19:01
引用: 60user108 发表于 2018-10-31 12:11
自己分析有问题的HEX和无问题的HEX是否有区别

从flash里读出来的bin文件和写入的bin文件做过对比,完全一样的
举报

訾存贵

2018-10-31 11:28:20
自己顶一下
举报

孙婷婷

2018-10-31 11:35:40
可能FLASH烧写不完整,用工具把FLASH数据读取出来,对比要烧写的内容,是否完整。
举报

訾存贵

2018-10-31 11:48:57
引用: TOPCB 发表于 2018-10-31 12:46
可能FLASH烧写不完整,用工具把FLASH数据读取出来,对比要烧写的内容,是否完整。

把FLASH里的数据读取过,和写入代码做过对比,完全一样的,后来发现不能执行的程序都是带有UCOS操作系统的程序,这些程序有个共同点,就是任务创建完成后有一个删除空闲任务的操作。把这句屏蔽掉,就能够执行了。还在找原因中。
举报

孙婷婷

2018-10-31 12:05:33
楼主看一下,删除任务后,会进入哪个错误?是不是进入了错误中断?
举报

訾存贵

2018-10-31 12:19:48
引用: TOPCB 发表于 2018-10-31 13:16
楼主看一下,删除任务后,会进入哪个错误?是不是进入了错误中断?

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

孙婷婷

2018-10-31 12:31:10
楼主还是看一下任务的删除操作吧。用排除法,看看是哪个任务删除时容易导致这个错误。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分