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

IAR调试器触发断点后跳转至STM芯片复位处理程序问题咨询

IAR 8.40.2 + I-Jet调试STM芯片时断点跳转至复位处理程序的排查方案
  • 断点资源或类型问题
    STM32硬件断点数量有限(通常2-8个),如果设置过多硬件断点会导致部分失效,触发异常后跳转复位。先清理多余断点,只保留当前需要的;另外右键断点选择Hardware breakpoint,强制使用硬件断点——部分Flash区域不支持软件断点,用软件断点会直接触发异常。

  • 调试配置的复位选项错误
    打开Project > Options > Debugger > Setup,查看Reset选项:如果选了Perform reset and run,可能断点还未触发就被强制复位。改成Perform reset and halt或者Do not reset(根据当前调试场景选择);同时检查Download选项卡的Verify download,下载校验失败也会导致代码跑飞触发复位。

  • I-Jet固件/驱动不兼容
    连接I-Jet后,在调试界面右上角点击I-Jet的设置图标,检查固件版本是否为最新,若不是则用IAR自带的I-Jet Manager更新固件;同时卸载重装I-Jet驱动,确保与IAR 8.40.2版本匹配。

  • 代码触发了未处理的硬件异常
    你设置断点的代码可能触发了HardFault、BusFault这类异常,而项目中未重写对应的异常处理函数,启动文件会将这些异常向量指向复位。在启动文件里重写HardFault_Handler:

    void HardFault_Handler(void)
    {
        while(1); // 触发异常时会停在此处,方便排查代码问题
    }
    

    这样调试时就会停在HardFault,而非直接跳转复位。

  • 项目缓存或配置损坏
    删除项目目录下的Debug/Release文件夹,重新编译下载;或者在Project > Options > Debugger里点击Restore Defaults重置调试配置,再重新选择I-Jet作为调试工具尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:40:29