在archLinux上使用CLion开发stm32

目录

1.0 安装CLion

1.1 在终端中输入以下命令先安装jetbrains-toolbox

1
yay -S jetbrains-toolbox

1.2 安装成功后打开jetbrains-toolbox

按照要求登录自己的账号并在里面选择安装CLion安装成成功后如下图所示 CLion安装界面

2.0 安装stm32cubeclt

1
yay -S stm32cubeclt

第一次运行后会提示错误(原因:这个软件包需要登录后下载)

注意

==> 正在创建软件包:stlink-server 2.1.1-9 (2026年02月22日 星期日 19时51分06秒) ==> 获取源代码… ==> 错误: st-link-server-v2-1-1.zip 没有在创建目录中找到,也不是一个 URL。 错误: 未能下载 ‘stlink-server-2.1.1-9’ 的源: 错误: 无法构建 stm32cubeclt-1.20.0-1,未满足以下依赖关系:stlink-server 错误: 未能构建的软件包:stlink-server-2.1.1-9 stm32cubeclt-1.20.0-1

这个时候需要我们手动下载st-link-server-v2-1-1.zip,下载地址为:https://www.st.com/en/development-tools/st-link-server.html 打开后向下滑动 点击Get latest下载(根据提示同意用户协议后会跳转到登录界面,登录后就可以下载了) 下载st-link-server-v2-1-1.zip

下载完成后,将文件重命名为 st-link-server-v2-1-1.zip(确保文件名与 PKGBUILD 中 source 完全一致),然后放入构建目录:

  • 如果你用 yay:~/.cache/yay/stlink-server/
  • 如果你用 paru:~/.cache/paru/stlink-server/
  • 如果你用 makepkg:在你运行 makepkg 的目录下

2.2手动下载stm32cubeclt

如同上面的 2.1 手动下载stm32cubeclt-1.20.0-1,下载地址为:https://www.st.com/en/development-tools/stm32cubeclt.html 下载stm32cubeclt-1.20.0-1

下载完成后,将文件重命名为 en.st-stm32cubeclt_1.20.0_26822_20251117_1245_amd64.sh.zip(确保文件名与 PKGBUILD 中 source 完全一致),然后放入构建目录:

  • 如果你用 yay:~/.cache/yay/stm32cubeclt/
  • 如果你用 paru:~/.cache/paru/stm32cubeclt/
  • 如果你用 makepkg:在你运行 makepkg 的目录下

2.3完成后再次运行安装命令就可以成功安装了:

1
yay -S stm32cubeclt

3.0 安装stm32cubemx

1
yay -S stm32cubemx

4.0 新建工程

打开CLion,点击新建项目,选择STM32CubeMX 如果CLion显示STM32CubeMX找不到,则编辑STM32CubeMX位置 设置为/opt/stm32cubemx/STM32CubeMX stm32cubeclt位置设置为/opt/stm32cubeclt/

4.1使用STM32CubeMX生成初始化代码

手动启动STM32CubeMX 点击ACCESS TO MCU SELECTOR 等待下载完成 STM32CubeMX界面

搜索自己的芯片型号 搜索芯片型号

选择好了后在右上角点击Staret Project 将Debug设置为 Serial Wire 设置Debug

切换到Project Manager界面,如下图进行设置 Project Manager界面

设置好了之后点击右上角的GENERATE CODE,(如果提示缺少固件包点击yes会自动下载)等待生成完成后就可以在CLion中打开了 在CLion中将位置修改为刚刚生成的代码位置,点击继续 CLion打开工程界面

注意 在项目向导中将CMake构建类型设置为Debug-Debug,点击完成 设置构建类型

在高级设置中勾选为所有项目启用调试服务器 启用调试服务器

点击右上角的编辑调试服务器 编辑调试服务器

新建一个ST-Link调试服务器,设置保持默认 然后点击绿色小三角就可以开始烧录了

提示

可以写一个led灯闪烁的代码,如果成功就说明配置好了


相关内容

发现新版本

当前站点有新版本可用。