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

简介: 这周工作终于不太忙了,可以写点笔记总结一下了。之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次我们再来介绍一下如何将elf文件转换为hex文件。

这周工作终于不太忙了,可以写点笔记总结一下了。

img_6288de32b154d660dfd29228231f0e4c.jpe

之前的文章如何在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。

img_6288de32b154d660dfd29228231f0e4c.jpe

注意

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

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


历史精选文章:


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

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

img_954cd7422a2def047d3f713ee25a28c1.jpe

目录
相关文章
|
Linux C语言 Python
Linux C-完美解决segmentation fault (core dumped)
在Linux下进行C语言编程时,遇到一个错误,网上说的都很复杂,看都看不懂,其实就是你对指针进行直接操作之前,没有对它进行分配地址空间。 所以在运行的时候,它不知道在那里操作(比如赋值,取值),所以才报了这个错误。
44948 0
|
数据采集 Web App开发 运维
动态内容加载的解决方案:Selenium与Playwright对比故障排查实录
本项目旨在解决亚航航班数据采集中的反爬挑战。初期使用Selenium遇到Cloudflare验证,后切换至Playwright仍触发反爬机制。通过引入代理IP轮换和UA策略,最终实现双方案并通过压力测试。Selenium适合模拟真人操作,而Playwright在执行速度和自动等待机制上表现更优,成功率高达95%。建议对强反爬网站优先采用Playwright,并配合完善的代理管理和请求特征模拟。
829 1
动态内容加载的解决方案:Selenium与Playwright对比故障排查实录
|
数据采集 自然语言处理 供应链
央国企“严选”的瓴羊,如何让数据“供得出、流得动、用得好”?|【瓴羊Dataphin在信通院2024数据资产管理大会】
在产业变革新浪潮下,数据资产管理步入“繁花时代”,瓴羊高级解决方案专家黄彦之出席2024数据资产管理大会并分享了瓴羊基于12年阿里最佳数据实践,通过Dataphin等产品助力央国企数智化转型的路径与方法。大会发布《数据治理产业图谱3.0》,瓴羊Dataphin入选BUCM板块代表产品,彰显其领先经验。
634 18
|
存储 Docker 容器
docker save命令和load命令
docker save命令和load命令
|
安全
技术笔记:KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结(转)
技术笔记:KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结(转)
828 0
|
数据采集 存储 JavaScript
使用Python截取网页内容的综合指南
使用Python截取网页内容的综合指南
832 1
新版本ARM交叉编译器官网下载地址(arm-none-eabi、arm-none-linux-gnueabihf、aarch64-none-elf、aarch64-none-linux-gnu)
新版本ARM交叉编译器官网下载地址(arm-none-eabi、arm-none-linux-gnueabihf、aarch64-none-elf、aarch64-none-linux-gnu)
6284 0
新版本ARM交叉编译器官网下载地址(arm-none-eabi、arm-none-linux-gnueabihf、aarch64-none-elf、aarch64-none-linux-gnu)
|
算法 Linux
易懂的方式讲解ARM中断原理以及中断嵌套方法
易懂的方式讲解ARM中断原理以及中断嵌套方法
740 0
|
编解码 算法 计算机视觉
HSV
HSV
1000 4
|
JavaScript 前端开发
nodejs配置express服务器,运行后自动打开浏览器
作为前端开发的项目,有的时候打包完后就想在本地测试是什么样子的,另外一些如cesium等程序,需要在服务的环境下才能启动三维球等。 这里使用nodejs+express搭建一个普通的服务器。
nodejs配置express服务器,运行后自动打开浏览器