.c和.he主要为C源代码这部分主要是使用C语言编程的代码以及头文件信息。.i文件是C语言源文件经过预处理器处理后的输出文件。主要处理#开头的指令处理#开头的宏定义即宏展开文件包含即将#include文件内容插入进来条件编译即#ifdef#if等条件中的内容删除注释添加行编号等。.s主要为汇编代码这部分在嵌入式中常见为启动代码即start.S文件.o为目标文件每个.c或.S都可以通过编译器生成对应的目标文件该目标文件是二进制中间文件这些文件里的内容主要包含机器码数据符号表重定位信息以及调试信息。.a文件是静态库文件该静态库文件是多个.o文件的归档(archive)其本质就是一个打包集合将一组相关功能封装成一个文件常见的有SBIST、外设驱动、数据库函数等。.ld文件是连接脚本文件控制链接器将.a和.o文件的段进行合并并输出文件并指定内存布局。.map文件是内存映射文件主要包含内存布局总览输出文件和输出段之间的关系全局符号的终止定制以及未使用的段地址填充信息等。.elf是链接器输出的可执行文件是调试和仿真的重要文件主要包括了完整的程序加载地址和入口合并之后的数据段代码段只读数据段等符号表等信息.bin文件是elf文件的输出文件纯二级制文件是连续的不带任何地址信息的字节流不包含地址信息需要烧录器知道烧录的起始位置。.hex文件是elf文件的输出文件是一种文本文件文件中的每一行都记录了目标地址烧录器会自动按照地址进行写入。同时hex文件每行的末尾都会有校验和烧录器在接受过程中可以验证数据是否损害。
嵌入式系统相关文件说明
.c和.he主要为C源代码这部分主要是使用C语言编程的代码以及头文件信息。.i文件是C语言源文件经过预处理器处理后的输出文件。主要处理#开头的指令处理#开头的宏定义即宏展开文件包含即将#include文件内容插入进来条件编译即#ifdef#if等条件中的内容删除注释添加行编号等。.s主要为汇编代码这部分在嵌入式中常见为启动代码即start.S文件.o为目标文件每个.c或.S都可以通过编译器生成对应的目标文件该目标文件是二进制中间文件这些文件里的内容主要包含机器码数据符号表重定位信息以及调试信息。.a文件是静态库文件该静态库文件是多个.o文件的归档(archive)其本质就是一个打包集合将一组相关功能封装成一个文件常见的有SBIST、外设驱动、数据库函数等。.ld文件是连接脚本文件控制链接器将.a和.o文件的段进行合并并输出文件并指定内存布局。.map文件是内存映射文件主要包含内存布局总览输出文件和输出段之间的关系全局符号的终止定制以及未使用的段地址填充信息等。.elf是链接器输出的可执行文件是调试和仿真的重要文件主要包括了完整的程序加载地址和入口合并之后的数据段代码段只读数据段等符号表等信息.bin文件是elf文件的输出文件纯二级制文件是连续的不带任何地址信息的字节流不包含地址信息需要烧录器知道烧录的起始位置。.hex文件是elf文件的输出文件是一种文本文件文件中的每一行都记录了目标地址烧录器会自动按照地址进行写入。同时hex文件每行的末尾都会有校验和烧录器在接受过程中可以验证数据是否损害。