在Ubuntu上搭建STM32开发环境(CUBEMX+Clion+Ozone)

在Ubuntu上搭建STM32开发环境(CUBEMX+Clion+Ozone)

He Wenxuan Lv1

简述

本文主要介绍ubuntu环境下使用CUBEMX+Clion+Ozone进行stm32开发的环境配置,适用于初学者。至于为啥要用Clion而不是Keil或者IAR,主要是因为Clion是跨平台的IDE,且对CMake支持很好,且免费(学生教育认证),而Keil和IAR都是收费的(但是有不收费的手段doge),并且只能在Windows下使用。

开发环境

  • Ubuntu 24.04

下载并安装CUBEMX

  1. 直接去st官网下载最新版本的CUBEMX,应该需要你登录,没有账号的按指示注册一个登录即可,下载后解压到你想放的地方即可。
  2. 进入解压后的文件夹,执行./SetupSTM32CubeMX-x.xx.x (可能名字会有区别,反正运行安装程序就完了),会出现一个图形化界面,按提示安装即可。
  3. 打开下载完成的Cubemx,登录第一步注册的账号后,点击INSTALL/REMOVE下载所需软件包即可,例如我使用RoboMaster的C板,则下载STM32F4系列的软件包即可。

下载并安装Clion

  1. 直接去官网下载最新版本的Clion安装包,下载后放到任意位置(推荐放到/opt/clion目录下)解压即可。
    解压命令:
1
sudo tar -xvf CLion-*.tar.gz -C /opt/clion --strip=1
  1. 进入解压后的文件夹,执行./clion.sh即可打开Clion,或者直接双击clion文件
  2. 第一次打开会提示你输入激活码,直接选择Evaluate for free即可免费试用30天,或者直接进行学生教育认证,很简单的,去Jetbrains官网按要求操作即可。
  3. 进入Clion后,选择Settings → Build, Execution, Deployment → Toolchains,配置好C和C++编译器为/usr/bin/arm-none-eabi-gcc/usr/bin/arm-none-eabi-g++(如果是其他路径选择对应路径即可)。这里配置是因为我clion自动查找的的gcc和g++并非arm-none-eabi版本的,导致后续编译会报错,但是我有同学是可以不用手动配置的,请更具实际情况选择。

安装gcc-arm-none-eabi编译器和cmake

  1. 输入安装命令:
1
2
3
sudo apt update
sudo apt install gcc-arm-none-eabi
sudo apt install cmake -y
  1. 验证安装是否成功
1
2
arm-none-eabi-gcc --version
cmake --version

有内容输出即可

安装openocd(可选)

  1. 输入安装命令:
1
sudo apt install openocd -y
  1. 验证安装是否成功
1
openocd --version

有内容输出即可

安装JLink和Ozone

  1. 直接去Segger官网下载最新版本的JLink和Ozone安装包
    解压命令:
1
2
sudo apt install ./JLink_Linux_V788e_x86_64.deb
sudo apt install ./Ozone_Linux_V788e_x86_64.deb
  1. 验证安装是否成功
1
JLinkExe

有内容输出即可

1
Ozone

会启动Ozone即可
3. 官方教学里是建议将 JLink 目录添加到环境变量中,但笔者操作时忘记这一步发现也是可以的,也可能是最新版Jlink在下载的时候会自动添加?命令如下:

1
2
echo 'export PATH=$PATH:/opt/SEGGER/JLink' >> ~/.bashrc
source ~/.bashrc

点个灯试试

  1. 打开CUBEMX,选择New Project,选择你要使用的芯片型号,例如我使用RoboMaster的C板,则选择STM#32F4407IGH6,然后点击Start Project
  2. 配置相应工程,这里只是环境配置教学,就不赘述了。配置好后点击Project Manager,然后选择Toolchain/IDECubeIDE,然后点击Generate Code即可生成代码。这里我有个疑问,我亲测如果选择CMake,生成的代码直接编译会过不去,makefile我没试过,所以建议直接选择CubeIDE
  3. 用Clion打开工程文件夹,首次先右键选择cmake点击Build,如果顺利的话会生成.elf文件在Debug文件夹下。
  4. 连接好JLink和开发板,打开Ozone,Device选择STM32F407IGPeripheral选择/opt/SEGGER/Ozone_Vxxx/Config/Peripheral/STM32F407IG.svg,然后点击Next。在接下来的窗口中Target Interface选择SWD,并点击下面识别到的Jlink编号,点击Next,最后选择对应的elf文件,后面一路点Next即可。
  5. 点击Start Debugging,然后点击左上角的Run按钮,点亮LED灯即可。由于Clion目前对Jlink的烧录配置过程不是很友好,所以建议直接通过在ozoneDebug的方式进行烧录和调试。
  • 标题: 在Ubuntu上搭建STM32开发环境(CUBEMX+Clion+Ozone)
  • 作者: He Wenxuan
  • 创建于 : 2025-10-05 20:55:00
  • 更新于 : 2026-02-18 22:23:47
  • 链接: https://redefine.ohevan.com/2025/10/05/stm32-ubuntu-clion/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论