elf格式转换为hex格式文件的两种方法


这周工作终于不太忙了,可以写点笔记总结一下了。今天看了一下后台,增加了好多关注者,真是受宠若惊啊!当然也有了更大的动力和压力,这么多天不更新,现在还关注的都是真粉丝啊!感谢!

之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次我们再来介绍一下如何将elf文件转换为hex文件。

如何将elf文件转换为hex文件

elf(Executable and Linkable Format)文件一般是由gcc编译器生成的,在Linux开发环境使用较多,但Windows一般情况下需要使用hex文件来进行烧录,那么如何将elf格式转换为hex格式呢?elf转hex有两种方式,一个是使用Keil环境自带的fromelf.exe工具,第二个是使用arm-gcc编译器下的arm-none-eabi-objcopy.exe工具。

先看一下我电脑上的文件路径

测试文件路径

D:\ELF	
	|-- arm-none-eabi-objcopy.exe
	|-- arm_file.hex
	|-- formelf_file.hex
	|-- output.elf

fromelf文件路径

E:\Keil_v5\ARM\ARMCC_505u2\bin\fromelf.exe

arm-none-eabi-objcopy.exe文件路径

D:\ELF\arm-none-eabi-objcopy.exe

使用formelf工具将elf文件转换为hex文件

"E:/Keil_v5/ARM/ARMCC_505u2/bin/fromelf.exe" --i32combined --output="D:/ELF/formelf_file.hex" "D:/ELF/output.elf"

命令说明:

--i32combined表示生成hex文件

--output=指定输出hex文件的存储路径和文件名

"D:/ELF/output.elf"指定输入elf文件的路径

使用arm-none-eabi-objcopy工具将elf文件转换为hex文件

"D:/ELF/arm-none-eabi-objcopy.exe" -O ihex "D:/ELF/output.elf" "D:/ELF/arm_file.hex"

-O ihex表示生成hex文件,这里要注意是大写的O。

注意

  • 从两种方法生成的hex文件来看,还是有一些区别的,但程序运行都是一样的。
  • fromelf.exe不能拿出来单独运行,它还依赖于Keil安装目录下的其他文件
  • arm-none-eabi-objcopy可以拿出来单独运行

arm-none-eabi-objcopy及测试文件下载地址:ELF.rar


历史精选文章:


欢迎大家关注我的个人博客

或微信扫码关注我的公众号

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ELF文件是指可执行与可链接格式(Executable and Linkable Format)文件,是一种用于存储二进制程序的文件格式。而HEX map则是指包含十六进制编码的地图。 S19文件是一种特殊的存储格式,用于将二进制程序换为十六进制表示并保存在文本文件中。这种文件格式常见于嵌入式系统开发中,可以用来将程序下载到目标设备中。 ELF HEX map S19文件则是指将ELF文件换为S19格式,并使用十六进制编码表示的地图文件。 换的过程通常包括以下几个步骤: 1. 首先,需要使用特定的软件工具(如objcopy或objdump)将ELF文件换为S19格式。这个过程会将ELF文件中的二进制代码换为十六进制编码,并按照S19文件格式的要求进行整理、重新排列。 2. 换完成后,生成的S19文件可以在文本编辑器中打开,其中每一行都包含了一个地址和相应的十六进制编码。这些编码可以表示程序的指令、数据、符号等信息。 3. HEX map则是一种将十六进制编码以图形形式展示的表示方法。可以使用特定的软件工具将S19文件中的十六进制编码换为HEX map地图文件。这个地图文件可以在嵌入式系统开发过程中使用,帮助开发人员更直观地了解程序在内存中的分布情况。 总之,ELF HEX map S19文件是一种将ELF文件换为S19格式,并将其表示为十六进制编码的地图文件。这种文件可以用于嵌入式系统开发中,方便程序的下载与调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

whik1194

如果对你有帮助,欢迎打赏。谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值