你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> Nuvoton/新唐 >> 新唐开发平台:进阶使用者的七大诀窍 (2) 进入除错模式找出 Hard Fault 原因

新唐开发平台:进阶使用者的七大诀窍 (2) 进入除错模式找出 Hard Fault 原因

作者: 来源: 发布时间:2021-12-28  浏览:10

进阶使用者的七大诀窍

进入除错模式找出 Hard Fault 原因

适用情境

在除错模式下发现微控制器进入Hard Fault,或是在运作时发现微控制器的UART输出Hard Fault信息。

除错技巧

在除错模式下找到进入Hard Fault前运行的最后一个指令。

  1. 取得 SP (Stack Pointer) 值。

  2. 使用SP 在Memory窗口中找到Stack。

  3. Stack的第七个值就是最后一笔运行的指令的地址。

  4. 在Disassembly 窗口查询该地址对应的指令。

图片

解说

当Cortex-M核要执行一个无效的指令,例如读取一个不存在的内存位置,核心会进入hard fault来保护自己。硬件先将一些CPU寄存器放到Stack中在进入Hard Fault handler。使用者可透过Stack Pointer找到存放最后一笔被执行的指令的内存地址,进而找到触发Hard Fault的程序流程。

图片

编辑:zzy  最后修改时间:2021-12-28

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4