Keil开发STM32生成hex文件/bin文件

STM32工程的hex文件和bin文件都可以通过Keil直接配置生成


生成hex文件

工程中点击魔术棒,在 Output 中勾选 Create HEX File 选项,OK保存工程配置

编译工程通过后可以看到编译输出窗口有创建hex文件的提示

默认可以在Output文件夹或者用户自定义的文件输出路径下找到对应的 .hex 文件

生成bin文件

同样打开魔术棒,在 User 中 After Build/Rebuild 选项下勾选 Run #1 来运行后面的命令,在命令框中键入以下命令

cpp 复制代码
fromelf --bin -o .\@L.bin .\Output\%L

简单说明命令的作用和用法

  • fromelf
    fromelf工具是ARM编译器套件中的工具,专门用于处理ELF/AXF文件,常用于提取二进制镜像(-- bin选项),生成调试信息和转换格式是等

eg.将Keil连接器输出的 .axf 文件A生成纯二进制文件(.bin)的B

cpp 复制代码
fromelf --bin -o B A

上面示例中的A文件和B文件都需要给出相应路径,A文件输入文件,即 .axf 文件相对于 .uvprojx 文件的所在路径, .axf 文件名直接用 %L 来代替, %L 在执行指令时会被替换为Keil链接器输出的 .axf 文件。文件B是输出文件,即生成的bin文件要存放的路径,同样是针对于 .uvprojx 文件所在目录来设置相对存放路径,@L.bin 即生成和 .axf 文件同名的 .bin 文件

上面我的工程输出文件 .axf 放在prop文件中,这里按上面说的 .axf 相对路径直接改就行,包括 .bin 文件要存放的路径,记得勾选上 Run 'Atter-Build' Conditionally 再OK保存设置,相当于是在每次工程编译完拿最新的 .axf 来生成 .bin

保存设置后进行工程重新编译,能看到编译窗口有下面打印信息出来,那bin文件基本没跑了

如果没成功生成bin文件,去排查 .axf 相对路径有没给错,或者命令格式没写(copy)对,加油去靠自己解决问题 ❀❀❀

相关推荐
Zw-awa1 天前
从 CPU 搬运到自动搬运:DMA、空闲中断和两块缓冲
stm32
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何1 天前
二进制和十六进制
stm32·单片机
TST-魚爷1 天前
小型视频会议室音频踩坑:一体化拾音扩音方案实测分享(易视讯)
stm32·电脑·音视频·钉钉·腾讯会议·zoom会议
十八岁牛爷爷1 天前
STM32H7 长时间运行后 HTTP 断连:从“串口还活着”到 TX 描述符错账
stm32·单片机·嵌入式硬件
Lxx_Zw1 天前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·stm32·单片机·嵌入式硬件
糖糖单片机设计1 天前
基于 STM32 + LU-ASR01 的智能台灯
stm32·单片机·嵌入式硬件·51单片机·语音识别
起个网名真难~2 天前
STM32F103_Bootloader_从零到UART升级成功_博客原稿
stm32·单片机·嵌入式硬件
小李不想当小白2 天前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Zw-awa2 天前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
stm32