文件类型说明
(1).o文件的作用:该文件是编译过的源代码文件,它是编译器生成的中间文件之一。生成.o文件的主要目的是为了优化编译过程和支持代码的模块化开发。
优化编译过程:在编译大型项目时,其实编译是一个很费时的过程。如果因为修改了某处或这某几处的代码,而将整个项目重新编辑则会浪费大量的时间。因此通过生成.o文件,只需对修改的代码进行编译,并重新生成.o文件,而对于未修改的代码则不编译。最后通过链接的方式将.o文件组合在一起,形成一个可执行的文件。
模块化开发:生成.o文件的另一个重要作用是支持代码的模块化开发。在大型项目中,通常会有多个开发人员同时工作。在最后的链接阶段,所有的.o文件会被组合成一个可执行文件。
(2).bin文件作用:二进制文件,是单片机最终可执行的文件,在I.MX6U单片机的开发中,.bin文件是由.elf文件编译生成的最终可执行文件。(.elf文件往下看)
(3).elf文件作用:该文件是可执行链接文件(不是单片机的可执行文件),用于记录目标文件(.o文件)的内容。在 Linux 及 Windows 系统下都有使用该格式的文件(或类似格式)用于记录应用程序的内容,告诉操作系统如何链接、加载及执行该应用程序。
(4).imx文件:该文件是使用 imxdownload 这个软件将 .bin 烧写到了 SD 卡中,imxdownload 会在 .bin前面添加一些头信息,重新生成一个叫做 .imx(通常命名为load.imx) 的文件。最终烧写到 I.MX6U 单片机中的程序其组成为:IVT+Boot data+DCD+.bin。(IVT+Boot data+DCD自己查阅资料)
(5)在嵌入式程序开发中,除了与hex文件接触得比较多外,也遇到过不少是用mot文件来进行程序烧写的。我们所说的mot文件实际上就是Motorola S-records文件,是摩托罗拉公司定义的一种S开头的数据记录文件格式。
平时该格式文件通过专门的烧录工具进行程序烧写,无需知道里面数据的含义,但是当想对接串口、can口等外设进行程序升级时,我们就必须明白mot文件中数据的含义了,只有知道数据的含义,才能提取其关键的信息进行程序开发。
(6)OBJ文件是一种常见的三维模型文件格式,主要用于表示三维模型的几何形状和材质信息。