gpt4 book ai didi

error-handling - HardFault cortex,我该如何调试它

转载 作者:行者123 更新时间:2023-12-03 08:24:11 24 4
gpt4 key购买 nike

我正在使用带有 freertos 的 cortex m4,我收到以下错误

Err: -110595: Hardfault occurred!

我不知道要检查什么。
意思是 CRIT_ERR_HARD_FAULT 但我如何追溯它?

最佳答案

这总是很棘手,并且没有共同的 list 应该检查什么才能让您在这里获得 100% 的快速成功机会。

无论如何检查几个寄存器的值应该会给你足够的信息来继续。要做到这一点,你必须知道进入异常的过程是什么——尤其是核心寄存器和堆栈发生了什么:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/Babefdjc.html

如果您可以使用在线调试,请在硬故障处理程序中放置一个断点并检查以下内容:

  • 堆叠式电脑 - 如上文所述,在异常进入时,ARM 内核自动将寄存器 r0、r1、r2、r3、sp、lr、pc 和 psr 压入堆栈。查看它以检查程序在执行前的位置
  • 当前LR - 验证您是否来自线程模式(正常程序执行)或另一个中断,将当前 LR 与文章
  • 中的表进行比较
  • ISR_NUMBER IPSR 成为当前 的一部分PSR - 验证是否确实发生了硬故障异常,或者您的硬故障处理程序是否用作所有类型故障的接收器
  • CFSR 中的其他故障相关寄存器渣打 - 它应该为您提供更多信息,究竟是什么导致了问题。由于 SCB 是一个外围模块,因此默认情况下它在大多数 IDE 中是不可见的。安装外设插件或通过内存检查窗口访问地址http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/Cihcfefj.html

  • 如果您无法进行在线调试,您将需要一个能够以某种方式转储这些寄存器的功能。

    祝你好运!

    关于error-handling - HardFault cortex,我该如何调试它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47001748/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com