STM32CubeMX + Clion 环境配置
部分配置过程参考大佬 稚晖君 的帖子:https://zhuanlan.zhihu.com/p/145801160
基于 scoop 配置环境,包括 stm32cubemx clion gcc-arm-none-eabi openocd 等,也可手动部署,需要配置相关环境变量
0. 环境简介
本文基于 scoop 配置相关运行环境,需要的软件包包括:
- stm32cubemx : https://www.st.com/zh/development-tools/stm32cubemx.html
- clion : https://www.jetbrains.com/clion/
- gcc-arm-none-eabi : https://developer.arm.com/downloads/-/gnu-rm
- openocd : https://openocd.org/
手动部署需要下载以上软件包,并配置相关环境变量
1. 配置 scoop
scoop 的官方地址 : https://scoop.sh/
首先打开 powershell ,执行下列语句以允许脚本执行 :Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
在默认位置安装只需要执行 : irm get.scoop.sh | iex
若要在指定 path 安装,则先执行脚本下载 : irm get.scoop.sh -outfile 'install.ps1'
而后运行脚本并通过 -ScoopDir 参数指定安装路径 : .\install.ps1 -ScoopDir 'path_to_your_dir'
scoop 的存储库均使用 git 从 GitHub 拉取,在设置好 scoop 后,请执行以下指令:
# 安装git
scoop install git
# 安装aria2加速下载
scoop install aria2
# 添加extras仓库
scoop buckets add extras
scoop install clion
scoop install gcc-arm-none-eabi
scoop install openocd
2. 配置 clion
配置 clion 前需要安装 stm32cubemx,安装时路径中请勿含有中文或空格
安装好后打开 clion,在首页-Plugins下可以搜索安装 Chinese Language Pack 实现汉化
选择新建项目,在左侧边栏选择 STM32CubeMX,此时需要在右侧指定项目的位置:

点击修正会跳转到设置页面,使用 scoop 安装的软件路径均为 scoop 安装路径下的apps目录下:

需要注意 openocd 的可执行文件在 bin 目录下
修改完成点击应用,然后在左侧选择工具链,点击加号,按下图设置:

设置完成后点击确定,并选择项目位置,点击创建,会进入项目界面。
Clion会首先运行 STM32CubeMX 生成默认必要文件,若生成时 STM32CubeMX 启动较慢,可能是在下载HAL库文件。推荐先打开 STM32CubeMX 进行库文件的下载
3. 新建项目
选择项目位置创建并打开项目后,会自动运行 STM32CubeMX 生成部分必要文件,默认选择的配置文件为 STM32F0 型号,大部分情况下并不符合配置要求,下面进行修改
- 项目生成结束后会要求选择面板配置文件,此时选择跳过即可。
- 在左侧导航窗格中找到
项目名.ioc文件,并选择通过 STM32CubeMX 打开,此时会打开新的 STM32CubeMX 界面,先点击界面上的 STM32F030F4PX,然后选择芯片的正确型号并进行其他配置 - 配置结束后在 Project Manager 界面填写 Project Name(和Clion的项目名相同),Toolchain/IDE 部分选择 STM32CubeIDE,设置完成后点击右上角的 GENERATE CODE 生成代码
- 若跳出 overwrite 的 warning,选择 Yes 即可
成功生成代码后,Clion 会自动检测并更新芯片型号,此时可以在相应目录下编写代码,并可点击右上角🔨图标来编译目标文件
4. 下载与调试
代码编写完成后,点击右上角的 项目名.elf,选择编辑配置:

在第四步中需要选择 openocd 的配置文件,在合适的目录下新建配置文件,名称任意:name.cfg
以 daplink 和 stm32f411 举例,内容如下:
# choose st-link/j-link/dap-link etc.
adapter driver cmsis-dap
transport select swd
# 0x10000 = 64K Flash Size
set FLASH_SIZE 0x80000
source [find target/stm32f4x.cfg]
# download speed = 10MHz
adapter speed 10000
source部分表示基于哪个芯片的配置文件,可以从 openocd\current\share\openocd\scripts\target 目录下查看所有的芯片配置文件并修改相应部分
修改完成并保存后即可下载运行或开启调试模式