一、首先,如何在Clion下配置stm32开发环境
主要参考这两篇文章
- https://www.bilibili.com/read/cv6308000/ 配置CLion用于STM32开发【优雅の嵌入式开发】
- https://zhuanlan.zhihu.com/p/160183640 在CLion中开发STM32
二、配置过程中的资源
链接:https://pan.baidu.com/s/1Cvg2bRu2IAS7UiOnc3mchA
提取码:zasb
软件包括:
- Clion 2020.3
- MinGW
- openOCD
- arm-none-eabi-gcc
三、遇到的问题
Problem 1
Info : clock speed 1000 kHz
Error: open failed (no matching adapter found)
in procedure 'program'
** OpenOCD init failed **
shutdown command invoked
原因:没有检测到烧录器
我的出现情况:USB接口接触不良,导致插上stlink之后无法少些,一开始还检查了一下是否是配置文件 .cfg写错,后面才发现是别的问题
Problem 2
Error: selected FPU does not support instruction -- `vstmdbeq r0!,{s16-s31}'
解决方法:见https://www.jianshu.com/p/54412fefd538
在CMakeLists文件中取消注释硬件浮点FPU。
#Uncomment for hardware floating point
SET(FPU_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16")
add_definitions(-DARM_MATH_CM4 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT=1)
Problem 3
使用Clion在调试中查看寄存器
在没有导入相关的寄存器文件时,点看查看外设寄存器会出现这个标识,这个时候我们找到.svd文件即可。如果以前在keil v5中进行过开发的话,可以直接在keil的安装文件中找到对应的内容文件,具体为:
...\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\SVD
这个目录下对应的stm32f1的芯片位置,下面即有需要寻找的.svd文件
导入文件后显示如下,可以进行寄存器的查看了:
本来想多写点问题的,但是好像当本次项目开发完成之后,就没有遇到新的问题了-_-,就这样吧。