linux环境对stm32单片机进行程序烧录

bash 复制代码
# 安装依赖
sudo apt update
sudo apt install build-essential cmake git libusb-1.0-0-dev -y

# 克隆并编译 stlink
git clone https://github.com/stlink-org/stlink.git
cd stlink
sudo make release
sudo make install
sudo ldconfig

# 添加 udev 规则(避免每次用 sudo)
sudo cp etc/udev/rules.d/49-stlinkv* /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

2. 烧录 .hex 文件(关键步骤)

.hex 文件包含地址信息,不需要手动指定 0x08000000

bash 复制代码
# 基本烧录命令
st-flash --format ihex write your_firmware.hex

参数说明:

  • --format ihex:明确告诉工具输入文件是 Intel HEX 格式
  • write:写入操作
  • your_firmware.hex:你的固件文件路径

✅ 成功标志:输出类似
Wrote 32768 bytes to 0x08000000 in 2.1s

3. 验证是否识别到设备(可选)

bash 复制代码
# 检查 ST-Link 和 STM32 是否被识别
st-info --probe

正常输出应包含芯片信息,例如:

bash 复制代码
Found 1 stlink programmers
 serial:     57FF6C06...
 flash:      65536 (pagesize: 1024)
 sram:       20480
 chipid:     0x0410
 descr:      F1xx Medium-density
相关推荐
戴为沐21 小时前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10155 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
FreakStudio6 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
AlfredZhao6 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3107 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql