打印
[其他ST产品]

STM32 异常之BFARVALID,PRECISERR,INVSTATE

[复制链接]
537|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ST, TE, ar, se
最近有一个项目基于STM32F446ZE MCU使用FREERTOS操作系统开发,之前有部分功能代码是基于MCU裸机开发的,移植过程种发现程序老出错,DEBUG模式条件发现程序停在了HardFault_Handler中断服务程序中:

使用特权

评论回复
评论
慢动作 2022-6-30 17:14 回复TA
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/zhanglifu3601881/article/details/104930029 ———————————————— 版权声明:本文为CSDN博主「张十三的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhanglifu3601881/article/details/104930029 
沙发
慢动作|  楼主 | 2022-6-30 16:57 | 只看该作者
查看对应的错误报告显示BFARVALID和PRECISERR错:

使用特权

评论回复
板凳
慢动作|  楼主 | 2022-6-30 17:07 | 只看该作者

使用特权

评论回复
地板
慢动作|  楼主 | 2022-6-30 17:08 | 只看该作者
查看了两个错误的对应说明(感觉还是不知道是什么原因):

使用特权

评论回复
5
慢动作|  楼主 | 2022-6-30 17:09 | 只看该作者
通过将任务逐个屏蔽,然后代码块逐个屏蔽方式最终定位到了一下函数,函数中对一个结构体对像进行了赋值操作后就会触发该错误,这些代码都是之前要无FREERTOS时运行好好的,现在就会出现这个错:

使用特权

评论回复
6
慢动作|  楼主 | 2022-6-30 17:10 | 只看该作者
思考好久,可以是任务堆栈太小导致,于试偿试将任务堆栈从128增加到512,

使用特权

评论回复
7
慢动作|  楼主 | 2022-6-30 17:10 | 只看该作者

使用特权

评论回复
8
dongnanxibei| | 2022-6-30 17:11 | 只看该作者
函数中对一个结构体对像进行了赋值操作后就会触发该错误

使用特权

评论回复
9
慢动作|  楼主 | 2022-6-30 17:11 | 只看该作者
编译下载运行OK,果然不再出错了。



长了教训!记录一下问题分析过程,也为后续类似的问题提供思路。

使用特权

评论回复
10
慢动作|  楼主 | 2022-6-30 17:12 | 只看该作者
顺便记录了一下在调试过程中遇到的另一个硬件错INVSTATE,对应的解释如下,

使用特权

评论回复
11
慢动作|  楼主 | 2022-6-30 17:13 | 只看该作者
我是因为数组越界超作也产生该错误,如下图,当message->len > 8 时,如果没有下面红框中的长度限制,就有可能在memcpy函数中引起数组越界产生INVSTATE硬件错!

使用特权

评论回复
12
慢动作|  楼主 | 2022-6-30 17:14 | 只看该作者

使用特权

评论回复
13
Pulitzer| | 2022-10-5 07:21 | 只看该作者

make_youtiao()执行完后,控制转回到调用函数中

使用特权

评论回复
14
Uriah| | 2022-10-5 14:22 | 只看该作者

要有一个延时的程序

使用特权

评论回复
15
Bblythe| | 2022-10-5 17:21 | 只看该作者

串口马上正常中断接收

使用特权

评论回复
16
Pulitzer| | 2023-4-1 07:21 | 只看该作者

时钟信号推动单片机内各个部分执行相应的指令

使用特权

评论回复
17
公羊子丹| | 2023-4-1 08:24 | 只看该作者

If-Else 通常是一个糟糕的选择

使用特权

评论回复
18
公羊子丹| | 2023-4-1 09:17 | 只看该作者

待向GPIO(通用I/O端口)的输入从0变为1时,程序可以一定的间隔来检查GPIO的状态

使用特权

评论回复
19
Wordsworth| | 2023-4-1 10:20 | 只看该作者

A直接通过B声明的函数调用即可

使用特权

评论回复
20
Clyde011| | 2023-4-1 11:23 | 只看该作者

让该端口输出高电平的语句

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

695

帖子

0

粉丝