Eclipse编译:由elf生成hex文件

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

文章目录

  • 1 问题引入
  • 2 配置过程
    • 2.1 参考文档
    • 2.2 Eclipse配置
    • 2.3 相关makefile
  • 3 总结

1 问题引入

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

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

2 配置过程

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

2.1 参考文档

在配置之前可以参考一下HIGHTEC的用户手册,其中说明了可以通过Objcopy工具来将elf文件转为hex文件。
Eclipse编译:由elf生成hex文件_第1张图片
参考手册中有几个例子用来说明Objcopy的使用方法。
Eclipse编译:由elf生成hex文件_第2张图片

2.2 Eclipse配置

在Eclipse中的配置过程如下:

1)首先导入工程,在工程中可以看到上次编译的结果,只有map文件和elf文件;
Eclipse编译:由elf生成hex文件_第3张图片
2)右键工程 – Properties,打开属性配置窗口;

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

2.3 相关makefile

rebuild后,可以打开自动生成的makefile文件,定位到post-build那一段。
Eclipse编译:由elf生成hex文件_第7张图片
可以看出在makefile中,将post-build作为一个伪目标,规则就是上一步在Eclipse中写下的命令行。

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

3 总结

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

>>返回个人博客总目录

你可能感兴趣的:(软件编译,hightec)