发新帖我要提问
12
返回列表
打印
[应用相关]

谈谈STM32(CM3)的Faults异常

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
有何不可0365|  楼主 | 2021-1-31 23:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
状态寄存器(HFSR):

使用特权

评论回复
22
有何不可0365|  楼主 | 2021-1-31 23:23 | 只看该作者
4

如何应对Fault错误异常
在软件开发过程中,我们可以根据各种 fault错误 状态寄存器的值来判定程序错误,并且改正它们。下面给出了各种 faults 的常见诱因,以及应对攻略。

使用特权

评论回复
23
有何不可0365|  楼主 | 2021-1-31 23:24 | 只看该作者
MemManage fault 状态寄存器提供的讯息:

使用特权

评论回复
24
有何不可0365|  楼主 | 2021-1-31 23:24 | 只看该作者
总线 fault 状态寄存器提供的讯息:

使用特权

评论回复
25
有何不可0365|  楼主 | 2021-1-31 23:25 | 只看该作者
用法 fault 状态寄存器提供的讯息:

使用特权

评论回复
26
有何不可0365|  楼主 | 2021-1-31 23:25 | 只看该作者
硬 fault 状态寄存器提供的讯息:

使用特权

评论回复
27
有何不可0365|  楼主 | 2021-1-31 23:26 | 只看该作者
常用应付Fault错误的方法:

1.恢复:在一些场合下,还是有希望解决产生 fault 的问题的。例如,如果程序尝试访问了协处理器,可以通过一个协处理器的软件模拟器来解决此问题——当然是以牺牲性能为代价的,要不然还要硬件加速干啥。

使用特权

评论回复
28
有何不可0365|  楼主 | 2021-1-31 23:27 | 只看该作者
2.中止相关任务:如果系统运行了一个 RTOS,则相关的任务可以被终结或者重新开始。

使用特权

评论回复
29
有何不可0365|  楼主 | 2021-1-31 23:27 | 只看该作者
3.复位:这也是最后一招。通过设置 NVIC“应用程序中断及复位控制寄存器”中的VECTRESET 位,将只复位处理器内核而不复位其它片上设施。取决于芯片的复位设计,有些CM3 芯片可以使用该寄存器的 SYSRESETREQ 位来复位。这种只限于内核中的复位不会复位其它系统部件。

使用特权

评论回复
30
有何不可0365|  楼主 | 2021-1-31 23:28 | 只看该作者
当然,说了这么多,我们还是要从根源出发,平时保持良好的编程习惯,以及遵循必要的编程规范。

使用特权

评论回复
31
coshi| | 2021-2-5 23:43 | 只看该作者
确实可以总结归类

使用特权

评论回复
32
aoyi| | 2021-2-5 23:48 | 只看该作者
一共有多少种异常情况啊

使用特权

评论回复
33
drer| | 2021-2-5 23:52 | 只看该作者
这是哪个文档的内容啊 我去看看

使用特权

评论回复
34
gwsan| | 2021-2-5 23:55 | 只看该作者
图中的都是一些常见的诱因

使用特权

评论回复
35
kxsi| | 2021-2-5 23:56 | 只看该作者
如何推测是什么原因导致的呢

使用特权

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

本版积分规则