linux如何生成bin文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何生成bin文件?相关的知识,希望对你有一定的参考价值。

照图中的代码,make tictactoe后就生成了bin文件,但是make命令能生成bin文件么,我试了怎么不行。代码只有这两行,没有上下文,不知道究竟是怎么来的,有大侠知道吗?

make 要干的事由 Makefile(或makefile, 文本文件)文件指定。 参考技术A make 只是编译而已,具体要看所编译的文件的源代码追问

那这个bin文件是怎么生成的?

追答

你可以看一下.config文件里面是怎样写的,由config文件生成makefile文件。 然后config文件是由你所要编译文件的源代码决定的。

Keil开发环境如何生成BIN文件

为什么需要BIN文件呢?

  • 有些烧录器只支持BIN文件。
  • 进行OTA远程升级时,只能使用BIN文件。
  • 使用JLink脚本文件进行一键烧录时,只支持BIN文件。
  • BIN文件要比HEX和AXF文件小的多。

但Keil默认生成的是AXF和HEX文件格式,那BIN怎么来生成呢?

Keil配置生成BIN文件

Keil自带了一个小工具,可以通过执行指令来将AXF文件转换为BIN文件这就需要调用一个外部程序fromelf.exe来将AXF文件转换为BIN格式文件。

fromelf.exe文件的位置在安装目录 Keil_v5ARMARMCCin 或者 Keil_v5ARMARMCC_505u2in 目录下。

技术分享图片

****在工程配置菜单中,User选项卡,编译后执行的命令,设置为 fromelf --bin -o "[email protected]" "#L" ,当然也可以使用上面那种绝对路径的方式,需要看指定fromelf文件的路径,输出BIN文件的路径和生成的AXF文件的路径。

技术分享图片

重新编译,可以看到在输出目录下已经生成了BIN文件。

技术分享图片

其他开发环境如何将AXF文件转换为BIN文件?

当然如果你想把其他开发环境生成的AXF文件转换为BIN文件,也可以直接调用这个小工具来实现。

命令格式为:

[fromelf.exe文件路径] --bin -o [BIN路径} [AXF文件路径}

如:

E:/Keil_v5/ARM/ARMCC/bin/fromelf.exe --bin -o E:/Keil_Project/OneNET.bin E:/Keil_Project/OneNET.axf

技术分享图片

欢迎大家关注我的个人博客
微信扫码关注我的公众号
技术分享图片

不定期更新个人学习笔记和技术总结,欢迎大家互相学习交流!



以上是关于linux如何生成bin文件?的主要内容,如果未能解决你的问题,请参考以下文章

linux bin文件怎么安装

linux下如何把一个.c文件通过arm-none-eabi-交叉编译生成一个.bin的文件然后在qemu上运行

Linux 生成系统升级包(bin文件)

golang 环境build之后可执行文件为啥没有在bin生成

Keil开发环境如何生成BIN文件

请问关于STM32,用yagarto生成的.bin文件,怎样烧录?