Clion配置stm32环境报错记录和解决办法总结

本文介绍如何在Clion中配置STM32开发环境,包括MinGW配置注意事项、Toolchain设置方法及解决C和H文件提示Nosuchfilesordirectory错误的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

网上可供参考的教程有很多,主要步骤可以看这篇,这里只记录踩坑的地方和注意事项
链接: Clion配置stm32开发环境步骤

MinGW配置注意事项

不需要全部勾选的!因为项目编译过程仅使用到c和c++的编译器,如果不使用c++,那么关于c++的都不用选,如图
在这里插入图片描述

Toolchain的配置

直接上图,照图看着弄就行了,CMake:这个栏不需要自己选择,还没细究这个应该怎么选,Clion安装的时候默认在它的目录里有关于gcc和g++的编译器,但是bulid tool:这一栏是个什么 niaja的东西,没有细究这个是干嘛的(忙猜是windows平台的一个工具),按图选就是了,把这个工具更改了。
在这里插入图片描述

项目中添加c和h文件提示No such files or directory错误

这个是Cmake的问题,Clion用Cmake的规则来组织和编译文件,所以报这个错就去找Cmake,直接上图,画圈的部分是自己新建的文件夹,用来存放第三方的c和h文件,加这个文件的时候,注意第二个图所示,不要勾选第一个选项,勾选第二个选项,第三张图里要把你新建的文件夹存放h文件的路径加进去,添加的方法是敲击一个空格和前一个路径隔开,把自己的路径敲进去即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这些都做完以后,Tools->Cmake->Reset Cache and reload project,Cmake选项卡内容没有报错
在这里插入图片描述
然后再去编译工程就可以了,不再提示找不到文件的错误了
在这里插入图片描述
OK,到此即可开展工作了,享受Clion的便利和强大吧,Coder Boy!

<think>好的,我现在需要处理用户关于OpenOCD输出的问题。首先,用户提供了Open On-Chip Debugger 0.12.0的日志,看起来是使用J-Link进行烧录STM32F1系列芯片的记录。用户可能想知道这些日志的含义,或者遇到了问题需要帮助解决。 首先,我应该分析日志的各个部分。开头显示OpenOCD版本许可信息,说明使用的是开源工具。接着是J-Link的信息,包括固件版本、硬件版本目标电压3.291V,这看起来正常。时钟速度设置为1000 kHz,属于常见配置。 然后,SWD DPIDR的值0x1ba01477,这应该是设备ID,确认连接的芯片是否正确。接下来识别到Cortex-M3处理器,符合STM32F1系列的架构。目标设备有6个断点4个监视点,说明调试器正确识别了芯片的调试能力。 GDB端口被禁用,可能是因为用户没有启用GDB服务,或者只是用OpenOCD进行烧录。接下来芯片被暂停,进入调试模式,显示了程序计数器(PC)主堆栈指针(MSP)的值,这些数值看起来合理,没有异常。 编程开始后,设备IDFlash大小512 KiB与STM32F103系列相符。警告信息提到额外的擦除范围0x08001344到0x080017ff,这可能是因为要写入的区域需要先擦除,而OpenOCD自动处理了这部分。最后编程完成,正常关闭,没有报错。 用户可能想知道这个输出是否正常,或者是否有隐藏的问题,比如那个警告是否需要关注。需要解释警告的原因,比如Flash写入前必须按页擦除,OpenOCD自动处理了未完全对齐的部分。另外,确认整个过程是否成功,根据“Programming Finished”没有错误信息,应该烧录成功。 可能用户在使用CLionJ-Link时遇到问题,但根据日志,烧录过程顺利。需要建议用户检查程序是否运行正常,或者是否有其他配置问题,比如复位后的启动设置。另外,可以提醒用户如果遇到问题,检查连接稳定性、电源电压,或者OpenOCD的配置文件是否正确指定了芯片型号。</think>以下是 OpenOCD 输出日志的逐段解析及关键信息总结: --- ### **1. 调试器基本信息** ```log Open On-Chip Debugger 0.12.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html ``` - **含义**:显示 OpenOCD 版本(0.12.0)开源协议信息,提示用户可通过指定链接反馈问题。 --- ### **2. J-Link 硬件信息** ```log Info : J-Link V9 compiled May 7 2021 16:26:12 Info : Hardware version: 9.70 Info : VTarget = 3.291 V ``` - **关键信息**: - J-Link 调试器固件版本为 V9(编译时间 2021 年 5 月)。 - 硬件版本为 9.70,目标芯片供电电压 3.29V(正常范围)。 --- ### **3. 通信配置** ```log Info : clock speed 1000 kHz Info : SWD DPIDR 0x1ba01477 ``` - **关键信息**: - SWD 通信速率设为 1000 kHz(常见速度,稳定性较好)。 - `DPIDR` 值 `0x1ba01477` 是芯片的调试端口标识符,用于验证连接的正确性。 --- ### **4. 目标芯片识别** ```log Info : [stm32f1x.cpu] Cortex-M3 r1p1 processor detected Info : [stm32f1x.cpu] target has 6 breakpoints, 4 watchpoints ``` - **关键信息**: - 成功识别到 **STM32F1 系列芯片**(Cortex-M3 内核,版本 r1p1)。 - 调试功能支持:6 个硬件断点、4 个数据监视点(符合 Cortex-M3 特性)。 --- ### **5. 调试状态** ```log Info : gdb port disabled [stm32f1x.cpu] halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x08000584 msp: 0x20010000 ``` - **关键信息**: - GDB 端口未启用(仅烧录,未进入调试会话)。 - 芯片已暂停,程序计数器(`pc`)指向 `0x08000584`,主堆栈指针(`msp`)为 `0x20010000`(正常启动后地址)。 --- ### **6. 编程过程** ```log ** Programming Started ** Info : device id = 0x10036414 Info : flash size = 512 KiB Warn : Adding extra erase range, 0x08001344 .. 0x080017ff ** Programming Finished ** shutdown command invoked ``` - **关键信息**: - **烧录成功**(显示 `Programming Finished`)。 - 芯片 ID `0x10036414` Flash 大小 `512 KiB` 与 STM32F103xC 系列匹配。 - **警告解释**:Flash 写入前需擦除,因目标地址未完全对齐到擦除扇区,OpenOCD 自动扩展擦除范围(正常行为,无需干预)。 --- ### **总结与建议** 1. **烧录结果** 日志显示**烧录成功**,无错误(仅有警告属于正常现象)。 2. **警告处理** 若需消除 `Adding extra erase range` 警告,可在 OpenOCD 配置文件中指定精确擦除范围,但通常无需操作。 3. **常见问题排查** - **芯片未运行**:检查复位电路或启动模式配置(如 BOOT0/BOOT1 引脚)。 - **供电问题**:确认 `VTarget` 电压稳定(STM32F1 需 2.0–3.6V)。 - **通信失败**:降低 SWD 时钟速度(例如 `adapter speed 100`)。 4. **扩展调试** 若需调试,启用 GDB 端口并连接 CLion 的 GDB 插件(需在 OpenOCD 配置中取消 `gdb port disabled`)。 --- 通过以上信息可确认烧录流程正常,芯片已正确写入程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值