stm32f407移植ucosiii进入HardFault_Handler,加上几句没用的就又可以正常运行

2019-07-20 22:01发布



上图是main函数的一部分,问题出在while(1)内,当屏蔽while(1)内的几条语句(如下图)后,程序一运行就进入硬件错误中断。当不屏蔽时,可以正常运行。问题是,这几条语句根本不可能运行到,删除后却不能正常运行,请问是不是与对齐有关,有什么方法可以解决吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
augustedward
1楼-- · 2019-07-21 10:29
颜渊 发表于 2016-5-24 11:21
知道是怎么回事吗?可否发一个例程,

具体原因我也不清楚,猜测是字节对齐的原因。但没找到。你可以参考原子的例程改。
颜渊
2楼-- · 2019-07-21 16:15
augustedward 发表于 2016-5-24 13:04
具体原因我也不清楚,猜测是字节对齐的原因。但没找到。你可以参考原子的例程改。

我用了原子的例程,仿真可以,重启就不行了,不知道为什么?
aisini
3楼-- · 2019-07-21 17:22
 精彩回答 2  元偷偷看……
augustedward
4楼-- · 2019-07-21 21:17
 精彩回答 2  元偷偷看……
颜渊
5楼-- · 2019-07-21 21:52
augustedward 发表于 2016-5-24 16:44
这就不清楚了!

知道了,是boot0和boot1的问题了,谢谢了!!!!不晓得为什么,boot0和boot1不接地有时好用,有时候不行。。。
augustedward
6楼-- · 2019-07-22 03:00
颜渊 发表于 2016-5-24 16:57
知道了,是boot0和boot1的问题了,谢谢了!!!!不晓得为什么,boot0和boot1不接地有时好用,有时候不行 ...

一定要接地的。否则在上电时,两个脚的电平浮空,能不能启动,完全看运气了!

一周热门 更多>