• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

wb-code

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

keil中 .axf .bin .hex文件的认识

keil mdk给stm32烧录程序,烧录的是什么.hex文件还是.bin文件?
KEIL MDK默认一般情况下编译后生成的是.axf(包含调试信息)和.hex(用于烧录),默认是烧录.hex文件。(不是说.axf不能进行烧录,只是大多数情况下,点击keil中的下载程序按钮,执行的是烧录.hex文件)

烧录bin文件:
1、生成bin文件:
配置 Keil 生成 .bin 文件: 如果你想让 Keil 在编译后自动生成一个 .bin 文件(例如用于远程升级或量产),需要额外配置一下:

点击魔法棒(Options for Target)。

转到 User 标签页。

在 After Build/Rebuild 栏勾选上 Run User1# ,并添加以下命令(假设你的工具链在标准路径):
fromelf.exe --bin -o "$" "#L"

配置完成后再次编译就能出现bin文件。
2、烧录:
通过调试工具st-link、j-link等,连接stm32开发板,利用stm32cubeprogrammer软件,可以对bin文件进行烧录,但要注意的是烧录bin文件要比烧录.axf和.hex文件多一个步骤就是必须指定起始地址!!!

.hex和.bin文件对比:

.hex: 是文本文件(ASCII 编码),包含了地址信息和校验码,体积稍大,但烧录时更安全(带校验),不容易烧错地址。

.bin: 是纯粹的二进制数据,体积小,但不带地址信息,烧录时必须指定起始地址。

posted on 2026-03-01 21:39  心事不在脸上  阅读(2)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3