STM32F407 CUBEMX 生成代码CLION openOCD调试异常跑飞

本文探讨了在使用STM32F407Cubemx与CLION进行OpenOCD调试时遇到的系统时钟配置异常问题。通过解决RCC_ClkInitStruct设置和HAL_RCC_ClockConfig调用中的错误,确保了程序正常运行。阅读者可借此了解如何避免此类调试陷阱并提高嵌入式开发效率。

STM32F407 CUBEMX 生成代码CLION openOCD调试异常跑飞,使用keill5调试正常,断点

Error_Handler();

发现在线debug进入error handler 往上断点 发现是 

SystemClock_Config 异常

解决方法:

    // 先将时钟源选择为内部时钟
    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK;
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
    {
        Error_Handler();
    }

 重新调试 问题解决

 

感谢:STM32实战项目:HAL_RCC_OscConfig中程序卡死问题解决办法_雍正-优快云博客 

### 配置CLionSTM32F407使用CubeMX和DAPLink进行开发 #### 创建并配置STM32CubeMX工程 在左侧找到`.ioc`文件,即CubeMX的文件,点击“通过STM32CubeMX打开”。随后,在CubeMX上配置所需的外设和其他参数[^1]。 ```python # 这里展示的是概念性的伪代码,实际操作是在图形界面完成 open_ioc_file(".ioc") # 打开.ioc文件 configure_peripherals() # 配置外设 save_project() ``` #### 导入项目至CLion 对于MAC环境下使用Clion软件进行STM32 HAL库的开发,需先准备好必要的工具链和支持包。接着按照特定流程来配置CLion环境以便支持STM32项目的构建与管理[^3]。 - 安装CMake、GNU Arm Embedded Toolchain以及OpenOCD等必要组件。 - 设置CLion以识别ARM架构编译器路径,并调整CMakeLists.txt确保其能正确解析由CubeMX生成的源码结构。 #### 调试设置 为了实现在线调试功能,需要安装并配置好DAPLink固件于所使用的编程器/调试接口设备之上。当一切就绪后,可在CLion内部指定运行/调试配置时选择相应的目标硬件平台及连接方式[^4]。 ```bash # 假定已正确设置了环境变量PATH包含所需工具的位置 arm-none-eabi-gdb ./build/main.elf # 启动GDB服务器用于远程调试 target extended-remote :3333 # 如果采用JTAG/SWD模式,则此命令可能有所不同 monitor swdp_scan # 自动扫描可用的目标MCU attach 1 # 附着到第一个发现的核心实例 load # 将可执行映像下载到闪存区 continue # 开始执行直到遇到断点或异常事件为止 ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑56

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值