STM32在Linux下的环境搭建

记录在 Linux 下的 STM32 开发环境搭建过程。

📌 TIP
本文介绍如何在 Linux 系统下配置 STM32 开发环境,包括必要的工具安装、驱动配置、调试支持等。

📚 目录


开发环境概述

💡 测试环境说明:

  • 操作系统:Ubuntu 20.04 LTS
  • MCU 型号:STM32F103C8T6
  • 开发工具:STM32CubeMX、CLion、STM32CubeCLT
  • 调试接口:ST-Link v2

这套组合是 Linux 下开发 STM32 的主流方案,具备完全开源、可定制的特点。


安装 STM32CubeMX

⚠️ 注意:
STM32CubeMX 依赖 Java 环境,安装前请确保系统已正确配置 JDK。

STM32CubeMX 是 ST 官方提供的图形化初始化配置工具,可生成 HAL 库工程框架。

  1. 前往 ST 官方下载页面,下载最新版 Linux 安装包。
  2. 下载后解压到你想存放的位置(例如 ~/Iot/)。
  3. 解压后文件结构如下:

解压内容

📘 Readme.html 是官方用户手册,可供参考。

  1. 授予安装文件执行权限并安装:

    1
    2
    
    chmod +x SetupSTM32CubeMX-6.14.1
    ./SetupSTM32CubeMX-6.14.1
    

    安装过程与 Windows 类似,按照提示操作即可。

  2. 安装完成后界面如下:

安装完成


安装 CLion

Windows 下常用 Keil 开发 STM32,本次尝试使用 JetBrains 的 CLion 进行跨平台开发,参考了 B站 UP 主 keysking 的教学视频

  1. 前往 CLion 官网 下载 Linux 安装包。

CLion 下载

  1. 解压后进入 ~/CLion/bin 目录,运行:

    1
    
    ./clion
    
  2. 为方便启动,可创建桌面图标:

    1
    
    nano ~/.local/share/applications/clion.desktop
    

    粘贴以下内容(路径请根据实际修改):

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=CLion
    Icon=/home/yourusername/apps/clion-2025.1/bin/clion.svg
    Exec=/home/yourusername/apps/clion-2025.1/bin/clion.sh
    Comment=JetBrains CLion IDE
    Categories=Development;IDE;
    Terminal=false
    StartupNotify=true
    

    ⚠️ 替换路径为实际安装路径,可将 .desktop 文件复制到桌面以便图形化启动。


安装工具链 STM32CubeCLT

  1. 在 STM32CubeMX 右下角点击 External Tools,进入 ST 官网下载 STM32CubeCLT。

CLT 下载入口

  1. 下载并解压后,在终端执行:

    1
    2
    
    chmod 777 st-stm32cubeclt_xx_amd64.sh
    ./st-stm32cubeclt_xx_amd64.sh
    

    ⚠️ xx 为具体版本号,例如 1.18.0,建议全屏运行安装程序避免错过条款提示。

  2. 安装过程中全程按 Y 同意协议,设置安装路径(如 /home/xx/st/stm32cubeclt_1.18.0)。

  3. 安装成功提示:

    1
    
    STM32CubeCLT installed successfully
    

CLT 安装完成

  1. 插入 ST-Link V2(不接开发板),运行 CLT 目录下的 STLinkUpgrade.sh 升级调试器固件。

  2. 添加环境变量:

    1
    2
    
    echo 'export PATH=$PATH:/home/xx/st/stm32cubeclt_1.18.0/bin' >> ~/.bashrc
    source ~/.bashrc
    

    ❗ 安装完成建议重启系统,否则 CLion 可能找不到 arm-none-eabi-gcc 等工具。


创建第一个工程

  1. 启动 CLion,选择非商业许可证。

  2. 选择新建 STM32 项目:

新建项目

  1. 配置 STM32CubeMX 路径:

配置路径

  1. 启动 CubeMX,新建项目,选择芯片(如 STM32F103C8T6):

选择芯片

  1. 配置调试接口(SW),设置 PC13 为 GPIO_Output:

配置引脚

  1. 设置工程路径:

设置路径

  1. 配置工具链,使用 GCC 和 Ninja:

工具链配置

  1. 勾选 Reload CMake Project,确保路径生效:

Reload 设置

  1. 启用调试服务器:

启用调试

  1. 配置 ST-Link:

ST-Link 设置

  1. 关闭持久会话以支持自动复位:

关闭持久会话

  1. 烧录测试(点灯):

    点灯演示

  2. 点击右上角运行,左下角查看烧录日志:

烧录中

  1. 点灯成功 🎉:

点灯成功