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
相关推荐
kukubuzai26 分钟前
Docker Note
linux·运维·docker
eng八戒40 分钟前
【RA-Eco-RA2L1开发板评测】基于 FSP 实现串口打印功能
单片机·嵌入式硬件
Ltd Pikashu1 小时前
insmod 加载内核模块 —— sys_init_module 源码剖析
linux·kernel·insmod
hj2862511 小时前
Linux网络基础一
linux·运维
嵌入式ZYXC1 小时前
第2篇:《面试题:LDO和DC-DC的区别?分别用在什么场景?》
stm32·单片机·嵌入式硬件·面试·职场和发展
小义_1 小时前
【Linux 1】
linux·运维·云原生·红帽
面向对象World2 小时前
Z8350 Broadcom SDIO网卡调试Ubuntu 22.04 Server版
linux·运维·ubuntu
Irissgwe2 小时前
12、多路转接 select
linux·io多路转接·select
HAPPY酷2 小时前
单片机OLED进阶:打造赛博朋克风“碎片化消散”文字特效
单片机·嵌入式硬件·microsoft
czhaii2 小时前
GB2312简体中文编码表
单片机·算法