Eclipse编译:由elf生成hex文件

本文研究通过Eclipse编译环境把链接后的elf文件转换为hex文件。Hightec编译器版本是tricore v4.9.1.0。

1 问题引入

在汽车控制器开发中,elf文件通常是用来调试的,而hex文件会用来刷新。因此,用Eclipse编译环境最终需要输出hex文件,然后用CAN ape或者INCA刷新。

本文会在之前的一篇博客《Eclipse编译:打包静态库文件》的基础上,通过Post-build steps来配置生成hex文件。

2 配置过程

首先,《Eclipse编译:打包静态库文件》博客中的配置不再赘述,这一节在该博客的基础上继续配置。

2.1 参考文档

在配置之前可以参考一下HIGHTEC的用户手册,其中说明了可以通过Objcopy工具来将elf文件转为hex文件。
在这里插入图片描述
参考手册中有几个例子用来说明Objcopy的使用方法。
在这里插入图片描述

2.2 Eclipse配置

在Eclipse中的配置过程如下:

1)首先导入工程,在工程中可以看到上次编译的结果,只有map文件和elf文件;
在这里插入图片描述
2)右键工程 – Properties,打开属性配置窗口;

3)依次选择 C/C++ Build – Settings – Build Steps,其中有一个Post-build steps中可以添加执行完编译后进行的命令行;
在这里插入图片描述
4)按照参考手册里的语法规则,将Objcopy命令写在Command文本框里面,然后OK;
在这里插入图片描述
5)然后重新rebuild project,在生成的文件夹中就会包含hex文件了;
在这里插入图片描述

2.3 相关makefile

rebuild后,可以打开自动生成的makefile文件,定位到post-build那一段。
在这里插入图片描述
可以看出在makefile中,将post-build作为一个伪目标,规则就是上一步在Eclipse中写下的命令行。

这个伪目标在Output.elf目标中的最后一步被调用,用的是$(MAKE)命令。以后如果自己写makefile的时候,可以参照着写。

3 总结

本文简单地研究了通过post-build配置生成hex文件的方法。另外,postbuild中也可以加入对hex文件的CRC校验,方法也是用命令行调用脚本。

>>返回个人博客总目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值