eric2013 发表于 2016-9-27 19:26:46

KEIL和SEGGER都升级了Cortex-M系列内核出现硬件异常时原因分析笔记,支持GCC,IAR和

说明:
1.MDK的硬件异常分析主要是通过MDK调试状态进行分析的。
   文档下载
2.SEGGER做的比较全面,支持GCC,IAR和MDK。
    文档下载:
    代码下载:
==============================
SEGGER




MDK

小狐狸 发表于 2016-9-27 20:03:44

谢谢奉献

sanit 发表于 2019-7-16 10:01:17

感谢大佬的无私奉献!

暖暖的_dgqY4 发表于 2019-9-2 17:18:04

感谢硬汉大佬的分享。。
在这里我有个问题不解。。我的平台是MDK。
我看pdf手册好像可以用:直接修改HardFault_Handler的方式:
static volatile unsigned int _Continue;
/**
* @briefThis function handles Hard Fault exception.
* @paramNone
* @retval None
*/
void HardFault_Handler(void)
{
/* Go to infinite loop when Hard Fault exception occurs */
        _Continue = 0u;
        while (_Continue == 0u) {
        }
}
然后调试的时候,修改_Continue的值,也可以跳出HardFault_Handler 定位到出错的地方,
那么还有必要再移植一个 SEGGER的 HardFaultHandler 吗?前面的方式已经可以达到目的了。

eric2013 发表于 2019-9-3 02:15:47

暖暖的_dgqY4 发表于 2019-9-2 17:18
感谢硬汉大佬的分享。。
在这里我有个问题不解。。我的平台是MDK。
我看pdf手册好像可以用:直接修改Hard ...

对,这就不需要了

mvvm 发表于 2019-11-15 09:57:34

我程序产生了一个硬错误,我将硬错误中断服务函数按照这样改没效果呀,还是一直死在硬错误中断里面。是哪里改的不对吗?

eric2013 发表于 2019-11-15 10:59:23

mvvm 发表于 2019-11-15 09:57
我程序产生了一个硬错误,我将硬错误中断服务函数按照这样改没效果呀,还是一直死在硬错误中断里面。是哪里 ...

如果是MDK的裸机程序,直接使用这个帖子里面的方案吧,还省事些

MDK快速定位硬件异常位置方法,调用show caller code即可快速锁定
http://www.armbbs.cn/forum.php?mod=viewthread&tid=94364&fromuid=58
(出处: 硬汉嵌入式论坛)

wdliming 发表于 2019-12-12 13:17:06

暖暖的_dgqY4 发表于 2019-9-2 17:18
感谢硬汉大佬的分享。。
在这里我有个问题不解。。我的平台是MDK。
我看pdf手册好像可以用:直接修改Hard ...

请问这个用法怎么用啊,pdf能分享吗

borrow1988 发表于 2020-2-2 22:54:27

...咨询下,void HardFaultHandler_C(void) ;
__asm void HardFault(void)
{
        tstLR, #4 ;       
        ite    EQ ;
        mrseqR0, MSP         ;// Stacking was using MSP.
        mrsneR0, PSP         ;// Stacking was using PSP.
        IMPORT HardFaultHandler_C
        b      HardFaultHandler_C;// Stack pointer passed through R0.       
       
}

void HardFaultHandler_C(void)
{
        printf("aa");
}
void HardFault_Handler(void)
{

        HardFault();
}

IMPORT 后面的函数必须是_C结尾? 规定么?

eric2013 发表于 2020-2-3 00:09:59

borrow1988 发表于 2020-2-2 22:54
...咨询下,void HardFaultHandler_C(void) ;
__asm void HardFault(void)
{

这么调用不是更简单。

tianqi911 发表于 2020-8-10 12:27:55

硬件异常

AS梦想家 发表于 2020-10-18 15:40:52

感谢感谢,最近重新学习一下

qianxilin 发表于 2022-1-5 16:17:48

神器啊。。。。。

zbq 发表于 2024-4-6 17:04:37

M7可以用么

eric2013 发表于 2024-4-7 07:47:45

zbq 发表于 2024-4-6 17:04
M7可以用么

可以使用。

lihui163 发表于 2024-4-17 14:59:16

暖暖的_dgqY4 发表于 2019-9-2 17:18
感谢硬汉大佬的分享。。
在这里我有个问题不解。。我的平台是MDK。
我看pdf手册好像可以用:直接修改Hard ...

调试的时候,怎么修改_Continue的值
页: [1]
查看完整版本: KEIL和SEGGER都升级了Cortex-M系列内核出现硬件异常时原因分析笔记,支持GCC,IAR和