# 参考链接

  • Mac 系统中实现 STLink 驱动下载(STM32)的完整方案
  • Keil5 生成 BIN 文件及烧录方法详解

# 使用 Homebrew 安装 openocd

brew install libusb openocd

工具说明:

工具作用
libusb提供用户态直接访问 USB 设备的能力,绕过系统驱动限制
openocd实现 ARM Cortex-M 调试协议栈,充当 “调试服务器”

安装完成后,你可以通过以下命令检查版本:

openocd --version
# 输出类似:Open On-Chip Debugger 0.12.0

# 文件格式区别

# AXF 文件 (ARM eXecutable Format)

包含内容:完整的可执行代码 + 调试信息 + 符号表 + 段信息

文件大小:通常比 HEX/BIN 大很多

主要用途:用于调试(可以用 Keil/IDE 单步调试)

不能直接烧录到 MCU,因为包含太多非代码信息

# HEX 文件 (Intel HEX 格式)

包含内容:纯可执行代码 + 地址信息(文本格式)

文件格式:ASCII 文本格式,每行包含地址、数据、校验和

可以烧录到 MCU,烧录工具会自动解析地址

# BIN 文件 (Binary 格式)

包含内容:纯二进制代码(无地址信息)

文件格式:原始二进制,最紧凑

烧录时需要指定起始地址(如你命令中的 0x08000000)

# 烧录命令

# 方案 A:使用 BIN
openocd -f interface/stlink.cfg -f target/stm32f1x.cfg \
  -c "program firmware.bin 0x08000000 verify reset exit"
# 方案 B:使用 HEX(更简单)
openocd -f interface/stlink.cfg -f target/stm32f1x.cfg \
  -c "program firmware.hex verify reset exit"
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

宇凌喵 微信支付

微信支付

宇凌喵 支付宝

支付宝