STM32怎么导出BIN文件
STM32怎么导出BIN文件
在STM32开发中,导出BIN文件(二进制文件)主要有两种常用方法,下面详细介绍步骤:
方法1:通过IDE生成(推荐)
适用于 Keil MDK、STM32CubeIDE、IAR 等开发环境。
Keil MDK 操作步骤:
- 打开工程,点击魔术棒图标(Options for Target)。
- 进入 User 选项卡。
- 在 After Build/Rebuild 区域勾选 Run #1。
- 在下方输入框填入以下命令(根据编译器选择):
- ARMCC 编译器(默认编译器):
fromelf.exe --bin -o ".\Objects\@L.bin" "#L" - AC6 编译器(ARMCLANG):
fromelf.exe --bin --output=.\Objects\@L.bin !L
- ARMCC 编译器(默认编译器):
- 点击 OK 保存设置。
- 重新编译工程,生成的
.bin文件将出现在Objects文件夹中(路径可自定义)。
STM32CubeIDE 操作步骤:
- 右击工程名 → Properties。
- 展开 C/C++ Build → 点击 Settings。
- 在 MCU Post build outputs 中:
- 勾选 Convert to binary file。
- 点击 Apply and Close,重新编译工程。
- 生成的
.bin文件位于Debug或Release文件夹内。
方法2:使用命令行工具转换
适用于已有 .hex 或 .elf 文件的情况(需安装 ARM GCC 工具链)。
步骤:
- 打开终端(Windows CMD/PowerShell 或 Linux 终端)。
-
使用
objcopy工具转换:-
从 .elf 生成 .bin:
arm-none-eabi-objcopy -O binary input.elf output.bininput.elf:编译生成的ELF文件路径(如project.elf)。output.bin:输出的BIN文件名(如firmware.bin)。
-
从 .hex 生成 .bin:
arm-none-eabi-objcopy -I ihex -O binary input.hex output.bin
-
关键注意事项
- 文件路径:
- 确认输入文件路径正确,避免空格或特殊字符。
- 工具链环境变量:
- 命令行方式需将
arm-none-eabi-objcopy添加到系统PATH(通常包含在 ARM GCC 工具链中)。
- 命令行方式需将
- 地址偏移(烧录时重要):
- BIN文件不包含地址信息,烧录时需手动指定起始地址(通常为
0x08000000)。
- BIN文件不包含地址信息,烧录时需手动指定起始地址(通常为
常见问题解决
- Keil 生成失败:检查
fromelf.exe路径是否正确(通常在C:\Keil_v5\ARM\ARMCC\bin)。 - CubeIDE 无输出:确认编译无错误,并检查
Post-build配置是否生效。 - 命令行报错:安装 ARM GCC 后重启终端,或使用完整路径调用
objcopy。
通过以上方法,即可轻松生成STM32的BIN文件,用于烧录或固件分发。
keil如何生成bin文件
创建工程、编写代码、配置编译选项、编译生成可执行文件、转换为bin文件等。 创建工程 首先,打开Keil软件,点击“File”->“New”->
2023-12-15 13:43:16
分享一个通过STM32的bin文件逆向分析代码的工具
关注、星标公众号,不错过精彩内容转载:芯片之家来源 |阿莫论坛,作者 | ilovepp首先你要有一个bin文件(bin
资料下载
526774
2021-12-09 14:36:07
如何使用CPUID和AES算法实现STM32单片机的固件升级
针对STM32系统固件升级时使用同一个文件易被非法复制使用的缺陷,提出并实现了一种一个STM32芯片使用一个唯一升级
资料下载
佚名
2019-11-19 15:14:32
单片机中的hex和bin文件
经过这几步后,程序下载工作就完成了,在以上的步骤中我们并没有选择要把程序下载到单片机的哪块内存中,即不需要设置地址。因为HEX文件内部的信息已经包括了地址。 单片机一般是下载hex文件。
2022-04-18 10:16:20
Linux下开发STM32 使用gcc-arm-none-eabi工具链编译生成bin、hex文件
Linux下开发STM32:使用gcc-arm-none-eabi工具链编译生成bin、hex文件
2020-02-28 15:08:23
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机