Skip to content

烧录MCU

“烧录 MCU” 是嵌入式开发中 程序下载、调试、内存/符号分析 的工具集合,对已烧录固件的设备进行固件分析,或直接烧录新固件。

下图是 **PicoXtools 工具中 烧录 MCU ** 的界面,主要用于 MCU(单片机)程序调试与固件管理,针对 目标 SOC 固件的 ELF 文件解析、内存查看、烧录操作

界面展示

1. 操作控制栏(顶部)

  • Reset/Halt/Step/Resume
    • 调试控制按钮,模拟硬件调试器功能:
      • Reset:复位 MCU,重启程序执行。
      • Halt:暂停程序运行,进入调试态(可查看寄存器、内存)。
      • Step:单步执行代码,逐行调试。
      • Resume:恢复程序运行,退出调试态。
  • Registers:查看/修改 MCU 寄存器值(需 Halt 后操作),用于底层硬件调试(如配置时钟、GPIO)。
  • Scan Dev扫描连接的 MCU 设备,识别硬件是否在线、通信是否正常
  • Auto Halt:启用后,MCU 启动或复位时自动暂停,方便调试初始化代码。

2. 功能标签页

  • ELF 查看器(当前激活):解析 ELF 格式的固件文件(如 stm32f103x.elf),展示程序的 段(Segments)、节(Sections)、符号表(symList)
    • ELF 是嵌入式开发常用的编译输出格式,包含程序代码、数据、调试信息。
  • MCU 内存查看器:实时查看/修改 MCU 内存数据(如 SRAM、Flash),用于校验变量值、调试数据传输。
  • 固件管理/烧录:选择固件文件(.elf/.hex/.bin 等),执行烧录、擦除、校验操作,更新设备程序。

3. ELF 解析区

  • 固件信息:显示当前加载的 ELF 文件 stm32f103x.elf,大小 40.76KB,支持 Download to .bin(转换为二进制文件,方便纯数据烧录)。
  • ELF 结构树
    • ELF.Segments[3]:程序加载段(运行时内存布局)。
    • ELF.sections[17]:程序编译节(如代码节 .text、数据节 .data)。
    • ELF.symList[250]:符号表,列出程序中 变量、函数的名称、地址、类型(核心调试依据)。

4. 符号表详情(重点)

表格展示符号 nDelay 的详细信息,对应程序中的一个变量/函数:

  • st_name:符号名 nDelay(代码中定义的变量/函数名)。
  • st_value:内存地址 0x20000004(变量在 SRAM 中的存储位置,STM32F103 的 SRAM 起始一般为 0x20000000)。
  • st_size:占用内存大小 0x00000004(4 字节,可能是 int 类型变量)。
  • type/bind/visiable:符号类型(OBJECT 表示变量)、作用域(GLOBAL 全局可见 )。
  • OperRead 可查看内存值,用于调试时校验变量是否符合预期。

使用自定义烧录算法, 烧录暂未支持的 SOC

  1. 连接目标SOC (SWD)
    通过 SWD接口 正确连接SOC(确保共地)
  2. 加载烧录算法
    将 FLM 算法文件拖拽到WEB,点击保存烧录算法.
  3. PicoXTools 可以正常支持该 MCU

视频展示