Keil开发STM32生成hex文件/bin文件
- 生成hex文件
- 生成bin文件
STM32工程的hex文件和bin文件都可以通过Keil直接配置生成
生成hex文件
工程中点击魔术棒,在 Output
中勾选 Create HEX File
选项,OK保存工程配置
编译工程通过后可以看到编译输出窗口有创建hex文件的提示
默认可以在Output文件夹或者用户自定义的文件输出路径下找到对应的 .hex
文件
生成bin文件
同样打开魔术棒,在 User
中 After Build/Rebuild
选项下勾选 Run #1
来运行后面的命令,在命令框中键入以下命令
fromelf --bin -o .\@L.bin .\Output\%L
简单说明命令的作用和用法
- fromelf
fromelf工具是ARM编译器套件中的工具,专门用于处理ELF/AXF文件,常用于提取二进制镜像(-- bin选项),生成调试信息和转换格式是等
eg.将Keil连接器输出的 .axf
文件A生成纯二进制文件(.bin)的B
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)对,加油去靠自己解决问题 ❀❀❀