You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Keil ARM MDK中设置特定内存写入断点排查HardFault异常?

在Keil ARM MDK中设置特定内存写入断点的操作步骤
  • 打开Keil工程,点击工具栏的Start/Stop Debug Session按钮(或按Ctrl+F5)进入调试模式。
  • 打开断点配置窗口:
    • 方式一:在调试界面菜单栏选择Debug -> Breakpoints...(快捷键Ctrl+Shift+B)
    • 方式二:直接点击调试工具栏里的Breakpoints图标(带红点的方块按钮)
  • 添加数据断点:
    • 点击窗口右侧的Add按钮,选择Data Breakpoint
    • 在弹出的配置框中填写以下信息:
      • Address:输入目标内存地址0x20004321
      • Type:选择Write(仅监控写入操作)
      • Size:选择Word(对应32位数据0x12345678)
      • 勾选Condition选项,输入条件:*(unsigned int *)0x20004321 == 0x12345678
  • 确认配置并启用:点击OK保存设置,确保断点列表中该数据断点的复选框处于勾选状态(启用状态)。
  • 运行程序:点击调试工具栏的Run按钮(或按F5),当0x12345678被写入0x20004321地址时,程序会自动暂停在触发写入的指令处。

注意事项

  • 确认0x20004321确实属于栈区地址范围,避免无效监控。
  • Cortex-M系列内核的硬件数据断点数量有限(通常支持2-4个),注意不要超出硬件限制。
  • 若断点未触发,检查数据宽度是否匹配(误选Halfword或Byte会导致条件不匹配)。

内容的提问来源于stack exchange,提问作者andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:20:27