ES32F36xx芯片发生HardFault异常时的函数调用关系及问题定位


Cortex-M3微控制器因其功能强大、性价比高以及易用性好,在嵌入式体系结构中得到了广泛应用。然而,在实际开发过程中,如果程序很大或运行很久后可能会遇到HardFault异常。为了快速有效地解决HardFault异常,本文将讨论定位HardFault问题的方法。
Cortex-M3微控制器因其功能强大、性价比高以及易用性好,在嵌入式体系结构中得到了广泛应用。然而,在实际开发过程中,如果程序很大或运行很久后可能会遇到HardFault异常。为了快速有效地解决HardFault异常,本文将讨论定位HardFault问题的方法。
客户在使用 STM32G070 的时候,KEIL MDK 为编译工具,当编译优化选项设置为Level0 的时候,程序会出现 Hard Fault 异常,而当编译优化选项设置为 Level1 的时候,则程序运行正常。
恩智浦基于Cortex M33内核的MCU,LPC55S6x/LPC55S1x, RT600/RT500等产品提供了对TrustZone的支持,并在SOC上提供了安全AHB控制器等功能,旨在帮助客户完成良好的安全隔离,并建立可信执行环境。
当复位产生时,处理器停止一切操作,并将复位当做一种特殊形式的异常来执行,进入到对应的中断函数。当复位撤销时,从向量表中复位项提供的地址处重新启动执行,芯片重新开始执行。
相信有不少读者都遇到过 “HardFault” 的问题,而且不止一次,有时候可能因为它连续几日加班,甚至通宵。那么今天就来分享一个由armink(也就是现在RTT里面的那位朱大神)整理的开源库,借花献佛分享给大家。