STM32 ST-LINK/Flash Loader程序下载

一、界面参数逐项说明

1. Start(起始烧录地址)

0x08000000

  • STM32F103 芯片内置 Flash 起始物理地址,所有 F1 系列程序均从此处烧录,无需修改。

2. File path(烧录文件路径)

当前路径末尾只显示STM32F103_LED.h,存在明显异常:

  • 正常烧录文件后缀应为 .hex / .bin,.h 是 C 语言头文件,无法用于烧录。
  • 窗口标题明确标注 [STM32F103_LED.hex],说明路径栏文件后缀截断,需要点击右侧Browse重新选中 Debug 目录下的.hex文件。

3. Extra options(附加选项)

  • Skip Flash Erase:跳过 Flash 擦除。不勾选,烧录前必须整片擦除,避免新旧程序冲突。
  • Skip Flash Protection verification:跳过读保护校验。不勾选,防止芯片开启读保护导致烧录失败。

4. Verification(校验模式)

  • Verify while programming:边烧录边校验(默认选中,推荐),实时比对写入数据,出错立即终止。
  • Verify after programming:全部烧录完成后统一校验,适合追求烧录速度场景。

5. After programming(烧录后动作)

  • ✅ Reset after programming:烧录完成自动复位芯片,程序立即运行,建议保持勾选。
  • Full Flash memory Checksum:完整 Flash 校验和,耗时较长,调试阶段无需勾选。

6. 操作按钮

  • Start:确认文件正确后点击开始烧录;
  • Cancel:关闭下载窗口。

二、当前存在的核心问题 ⚠️

文件路径读取异常,选中了.h头文件而非.hex固件,直接点击Start会烧录失败,报错无法解析文件。

三、解决步骤

  1. 点击右侧Browse浏览按钮;
  2. 进入目录 D:\STM_FOC\STM32F103_LED\Debug\;
  3. 选中文件 STM32F103_LED.hex;
  4. 确认路径后缀变为.hex后,点击Start开始烧录。

STM32 ST-LINK Utility 界面

一、设备基础信息(右上角)

  • 芯片型号:STM32F10xx Medium-density(中容量 STM32F103)
  • 设备 ID:0x410,对应标准 STM32F103 中容量芯片
  • Flash 容量:128KBytes(128KB Flash)
  • 版本:Rev A

二、核心操作结果(底部日志区,关键成功信息)

plaintext

13:45:17 : Connection mode : Normal.

13:45:18 : Device ID:0x410

13:45:18 : Device Flash Size : 128KBytes

13:45:19 : Memory programmed in 0s and 469ms.

13:45:39 : Verification...OK

13:45:39 : Programmed memory Checksum: 0x0006853B

日志解读:

  1. ST-LINK 已正常连接芯片,识别芯片参数无误;
  2. Memory programmed:程序烧录完成,耗时 469ms;
  3. Verification...OK:数据校验通过,写入 Flash 的数据与 hex 文件完全一致;
  4. 校验和正常,本次烧录操作完全成功。

三、内存窗口说明

  1. 加载文件:STM32F103_LED.hex,映射地址范围 0x08000000 ~ 0x08001290;
  2. 表格左侧为 Flash 物理地址,中间是存储的十六进制数据,右侧为 ASCII 字符;
  3. 浅绿色高亮区域为空白 / 填充地址,其余为有效程序代码段;
  4. 顶部Memory display面板可切换查看任意 Flash 地址、调整数据位宽。

四、当前状态总结 ✅

  1. 上一步选择.hex文件烧录的问题已解决,固件成功写入芯片;
  2. 硬件连接、ST-LINK 驱动、hex 文件均无异常;
  3. 芯片已存入 LED 测试程序,断电后重新上电即可自动运行 LED 程序。

五、补充操作建议 💡

  1. 运行程序:拔下 ST-LINK,重新给开发板上电,LED 将按程序逻辑点亮 / 闪烁;
  2. 在线调试:保持 ST-LINK 连接,点击顶部 Debug 图标可在线断点调试;
  3. 读取备份:可通过File -> Download memory to file读出芯片内现有固件做备份;
  4. 擦除 Flash:若需重新烧录不同程序,使用Target -> Erase Chip整片擦除。

                      编制:刘平安                                          Emial:185286490

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐