1. 安装 stlink 工具(如果尚未安装)
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