跟着大佬稚辉君的教程,搭配了windows下的环境。由于工作的缘故,经常windows linux之间反复横跳。于是就尝试着找找怎么弄,找了一圈发现没有完整的教程,折腾了一小下,算是趟过了些坑,姑且就写原创了(内容比较简陋)。
一、需要的软件及系统环境:
1、STM32CubeMX(官方下载,后续自行安装所需的软件包,比如我在玩的f1系列)
2、Clion(前两者官网都有,按照官方教程安装即可,CLion可以某宝买账号或者找和谐工具处理一下。)
3、Ubuntu 20.04LTS(本人的电脑环境)
二、其他必要环境
1、安装arm相关的gcc工具(受限于网速,会比较久)
sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
1.1测试环境:
gcc-v
arm-none-eabi-gcc -v
有返回,就算是环境完整。
2、安装openocd工具:
sudo apt install openocd
3、软件配置


STM32CubeMX的路径取决于你的实际安装位置,官方的文件里也说明方法了,就是需要注意权限问题,至于openocd的board配置文件,复制到这个目录下即可(同样需要注意权限)
/usr/share/openocd/script/board/
对于用STlink-V2的,可以这样配置:
# 使用 stlink-v2 调试器
source [find interface/stlink-v2.cfg]
# 使用 hla_swd 调试接口
transport select hla_swd
# 目标芯片设定为 STM32F1 系列
source [find target/stm32f1x.cfg]
# 不使用复位接口
# reset_config none
对于使用Jlink -> SWD可以这样配置:
source [find interface/jlink.cfg]
transport select swd
source [find target/stm32f1x.cfg]
并且需要替换默认驱动,否则会提示没有设备:

其他更多的配置,我就没有弄过了。以上内容已经测试过,可以编译烧录
感谢一下up博主的分享:
https://www.bilibili.com/read/cv6308000
https://zhuanlan.zhihu.com/p/160183640
https://www.instructables.com/Build-a-Program-for-STM32-MCU-Under-Linux/
https://cycling-touring.net/2018/12/flashing-and-debugging-stm32-microcontrollers-under-linux