OpenEdv-开源电子网

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

程序莫名的进入HardFault_Handler()函数卡死,我分析了一下感觉很奇怪,征求一下大家的看法

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-7-4
在线时间
5 小时
发表于 2021-4-26 21:49:48 | 显示全部楼层 |阅读模式
本帖最后由 1016399120 于 2021-4-26 21:56 编辑

首先呢,我先介绍一下代码内容,我尽可能描述这段代码的功能。

Snipaste_2021-04-26_21-54-11.png
PreviewChat()和PreviewChat2()的内容原来在一个函数PreviewChat()里面,但是出现了题目所述问题,我将这个函数拆分成两个,问题解决。
这里的两个函数原来是放在一个函数内部的,函数内的一切内容运行都十分正常,但是离开PreviewChat()函数之后的最近的一条printf指令无法执行,而是跳转到HardFault_Handler(),使程序卡死。

sp20210426_215054_585.png


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

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2021-4-27 13:59:38 | 显示全部楼层
修改栈空间,调大一些。
回复 支持 反对

使用道具 举报

13

主题

250

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2248
金钱
2248
注册时间
2019-8-7
在线时间
364 小时
发表于 2021-4-27 17:25:15 | 显示全部楼层
你的UART2_BF_COUNT 的值是多少 ,咋感觉像是数组越界
回复 支持 反对

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2020-8-19
在线时间
335 小时
发表于 2021-4-27 18:49:23 | 显示全部楼层
堆栈   
回复 支持 反对

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-7-4
在线时间
5 小时
 楼主| 发表于 2021-4-29 21:47:35 | 显示全部楼层
远命 发表于 2021-4-27 17:25
你的UART2_BF_COUNT 的值是多少 ,咋感觉像是数组越界

UART2_BF_COUNT是定义的uint16_t的数,他是用于计数HMI传输的文件的字节个数,在文件发送的那边,默认每次发送的文件的字节数都是400,而且我也在接收中断内定义了,超过500会自动归零。
回复 支持 反对

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-7-4
在线时间
5 小时
 楼主| 发表于 2021-4-29 22:01:26 | 显示全部楼层
xkwy 发表于 2021-4-27 13:59
修改栈空间,调大一些。

我知道调大栈空间可以解决这个问题,我这里希望了解,为什么一个函数的话,栈的容量就不足了,分成两个就能通过,我希望可以了解一下原理
回复 支持 反对

使用道具 举报

0

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2020-10-15
在线时间
55 小时
发表于 2021-5-28 08:57:08 | 显示全部楼层
感谢各位,遇到同样的问题,按照此方法解决啦,再次感谢
回复 支持 反对

使用道具 举报

13

主题

250

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2248
金钱
2248
注册时间
2019-8-7
在线时间
364 小时
发表于 2021-5-29 09:09:14 | 显示全部楼层
1016399120 发表于 2021-4-29 22:01
我知道调大栈空间可以解决这个问题,我这里希望了解,为什么一个函数的话,栈的容量就不足了,分成两个就 ...

当然分成两个就可以了 程序一时间只进入一个函数所需要的空间自然就小了 但是如果是嵌套的话会越来越占空间
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 17:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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