介绍
ioc 文件,存储了
- 我们在 CubeMx 界面中的配置
- 我们在 CubeIDE 中的配置(那些头文件、源文件,参与编译)
👇:参与编译的,头文件的,路径
Clion 中的 ioc 右击:update cmake project with stm32cubemx 后,CmakeLists.txt 会自动生成
对应路径,在 CmakeList.txt
include_directories(Core/Inc Drivers/STM32F1xx_HAL_Driver/Inc Drivers/STM32F1xx_HAL_Driver/Inc/Legacy Drivers/CMSIS/Device/ST/STM32F1xx/Include Drivers/CMSIS/Include)
如果在 IDE 中添加一个绝对路径,cmake 语法无法识别,导致 CmakeLists.txt 中报错
Clion 会自动识别 ioc 发生变化,然后自动更新 cmake 项目
配置 arm-none-eabi-gcc
不配置,编译的时候,会报错,如下:
CMake Error at CMakeLists.txt:17 (project):
The CMAKE_C_COMPILER:
arm-none-eabi-gcc
everything 寻找 arm-none-eabi-gcc ,然后添加环境变量
C:\ST\STM32CubeIDE_1.16.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623\tools\bin
重启 Clion,之后重置下工程
烧录
这里用的型号是:STM32F103C8T6
下载 openocd
https://gnutoolchains.com/arm-eabi/openocd/
解压,保存到某个目录,clion 中进行配置
这里配置 OpenOCD 以及 Stm32CubeMX
Board config file
C:\Users\Administrator\Documents\STM32CubeIDEProject\00_f103_demo\config\stlink.cfg
stlink.cfg 文件内容
# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000
Debug
-f interface/stlink-v2.cfg -f target/stm32f1x.cfg
调试
不知道为啥,变量等代码,打断点,不会走到
查看寄存器的值
https://www.st.com.cn/content/st_com/zh.html
搜索:STM32F1 SVD,下载 zip
C:\Program Files\en.stm32f1_svd