OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8905|回复: 12

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

[复制链接]

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
发表于 2015-7-29 21:19:59 | 显示全部楼层 |阅读模式



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


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2015-7-30
在线时间
1 小时
发表于 2015-7-31 13:59:22 | 显示全部楼层
回复【2楼】augustedward:
---------------------------------
有没有初始化USMART这句呢?有的话注释掉貌似就行了,我之前也碰到时常会进入hardfault
回复 支持 0 反对 1

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
 楼主| 发表于 2015-7-30 09:06:34 | 显示全部楼层
后又调试发现,在不用FPU的情况下,都没有问题。这样应该是字节对齐的问题了,只是不知道该怎么改!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-7-30 20:50:54 | 显示全部楼层
帮顶.....
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
 楼主| 发表于 2015-7-31 15:04:24 | 显示全部楼层
回复【4楼】北斗stone:
---------------------------------
回复【3楼】正点原子:
---------------------------------
有初始化的,在程序开始任务建立之前还通过串口打印了一些数据,都没问题的。
还应该是和字节对齐有关,就是不知道怎么改。

单步仿真时,程序死在这个位置。
    B       OSStartHang                                         ; Should never get here

不注释掉那一部分没用的代码,程序不会死在这个位置
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
 楼主| 发表于 2015-12-27 15:32:10 | 显示全部楼层

这个问题已解决,用原子哥你的串口打印底层函数就没问题了!请置为已解决!
回复 支持 反对

使用道具 举报

50

主题

134

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2014-5-21
在线时间
84 小时
发表于 2016-5-24 11:21:41 | 显示全部楼层
augustedward 发表于 2015-12-27 15:32
这个问题已解决,用原子哥你的串口打印底层函数就没问题了!请置为已解决!

知道是怎么回事吗?可否发一个例程,
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
 楼主| 发表于 2016-5-24 13:04:20 | 显示全部楼层
颜渊 发表于 2016-5-24 11:21
知道是怎么回事吗?可否发一个例程,

具体原因我也不清楚,猜测是字节对齐的原因。但没找到。你可以参考原子的例程改。
回复 支持 反对

使用道具 举报

50

主题

134

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2014-5-21
在线时间
84 小时
发表于 2016-5-24 13:19:21 | 显示全部楼层
augustedward 发表于 2016-5-24 13:04
具体原因我也不清楚,猜测是字节对齐的原因。但没找到。你可以参考原子的例程改。

我用了原子的例程,仿真可以,重启就不行了,不知道为什么?
回复 支持 反对

使用道具 举报

4

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
622
金钱
622
注册时间
2016-5-11
在线时间
40 小时
发表于 2016-5-24 13:25:56 | 显示全部楼层
学习了...
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
 楼主| 发表于 2016-5-24 16:44:58 | 显示全部楼层
颜渊 发表于 2016-5-24 13:19
我用了原子的例程,仿真可以,重启就不行了,不知道为什么?

这就不清楚了!
回复 支持 反对

使用道具 举报

50

主题

134

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2014-5-21
在线时间
84 小时
发表于 2016-5-24 16:57:09 | 显示全部楼层

知道了,是boot0和boot1的问题了,谢谢了!!!!不晓得为什么,boot0和boot1不接地有时好用,有时候不行。。。
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
 楼主| 发表于 2016-5-25 08:37:44 | 显示全部楼层
颜渊 发表于 2016-5-24 16:57
知道了,是boot0和boot1的问题了,谢谢了!!!!不晓得为什么,boot0和boot1不接地有时好用,有时候不行 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 08:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表