Skip to content

gcc下(使用ubeide)只有在debg模式才能打印错误信息,使用下载烧录功能直接运行程序时无法进入HardFault_Handler #91

@piogrammer

Description

@piogrammer

尊敬的各种佬;
近期发现这个宝藏库,所以试着学习了一下,使用f4裸机hal库版本是F4_1.28.3基于cubeied1.19所以GCC版本就是13,相应的dwarf版本就是5,实测确实好用,在debug模式下,运行错误代码后可以立即跳转到HardFault_Handler(位于cmb_fault.s)然后进一步跳转到cm_backtrace_fault成功打印出错误信息如图

Image addr2line也可以正常查看错误的代码的位置, Image 但是当我使用下载烧录功能时,程序则完全不能触发HardFault_Handler(位于cmb_fault.s),也就无法跳转到cm_backtrace_fault成功打印出错误信息,我的测试程序很简单,在main.c中开始循环 然后制作除0错误,然后循环结束如下图 Image 非常奇怪的是,程序会一直打印: 循环开始 循环结束 就像没有发生hardfault一样,如下图 Image 请问这是为什么呢?再次感谢各种佬

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions