STM32CubeMX Linux 开发环境搭建

1. 安装 ARM GCC 交叉编译工具链

你现在是 Ubuntu 环境,直接执行:

复制代码
sudo apt update
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi make

如果还需要调试工具,可以安装:

复制代码
sudo apt install gdb-multiarch

2. 确认编译器是否安装成功

复制代码
arm-none-eabi-gcc --version

正常应该显示类似:

再检查路径:

复制代码
which arm-none-eabi-gcc

可能输出:

复制代码
/usr/bin/arm-none-eabi-gcc

3. 重新编译你的项目

回到项目目录:

复制代码
cd /mnt/hgfs/share/AT_LED_demo
make clean
make

如果没有 clean 目标,也可以直接:

复制代码
make

如果编译报错

4. 下载并解压新版工具链

复制代码
mkdir -p ~/tools
cd ~/tools

wget https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

解压:

复制代码
tar -xJf arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

5. 临时切换工具

复制代码
export PATH="$HOME/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin:$PATH"

确认版本:

复制代码
arm-none-eabi-gcc --version
arm-none-eabi-ld --version

应当优先显示 12.2.Rel1 对应的 GCC 和较新的 binutils。

6. 回到项目编译

复制代码
cd /mnt/hgfs/share/AT_LED_demo
rm -rf build
make

7. 永久设置新版 PATH

执行:

复制代码
nano ~/.bashrc

在文件末尾添加:

复制代码
export PATH="$HOME/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin:$PATH"

保存退出:

  • Ctrl + O → 回车

  • Ctrl + X

立即生效:

复制代码
source ~/.bashrc
hash -r

8. 确认使用新版

复制代码
which arm-none-eabi-gcc
arm-none-eabi-gcc --version

which arm-none-eabi-ld
arm-none-eabi-ld --version

路径应该指向:

复制代码
/home/chem/tools/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/

9. 删除 Ubuntu 旧工具链

确认新版正常后,可以卸载旧版:

复制代码
sudo apt remove gcc-arm-none-eabi binutils-arm-none-eabi

检查将要删除的内容,确认没有误删其他重要工具后输入 Y

清理无用依赖:

复制代码
sudo apt autoremove

成功编译即可生成对应固件

10.程序烧录

烧录使用ISP 串口烧录

相关推荐
无敌贵点大王11 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
崇山峻岭之间14 小时前
HC32F460PETB的PB2的Vout123
单片机
恶魔泡泡糖14 小时前
stm32F103C8T6标准库串口接收之中断方式2
stm32·单片机·嵌入式硬件
充哥单片机设计15 小时前
【STM32开源项目】智能小区充电桩
stm32·单片机·嵌入式硬件·毕业设计·小区充电桩·智能小区充电桩
嵌入式-老费15 小时前
esp32开发与应用(如何解决SoC冷启动的问题)
单片机·嵌入式硬件
充哥单片机设计16 小时前
【STM32开源项目】智能语音台灯
stm32·单片机·嵌入式硬件·毕业设计·单片机设计·智能语音台灯
EatFan17 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网·esp32
sunoo-22918 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx18 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件