嵌入式系统可执行文件格式

嵌入式系统中的可执行代码通常与硬件紧密集成,包括嵌入式操作系统、系统软件和应用软件。常见的可执行文件格式有ELF、S-record、HEX和bin。ELF文件是Linux系统下的目标文件格式,包含可重定位、可执行和共享目标文件类型。S-record是一种Motorola格式,用于存储和传输二进制数据,适合编程器下载。bin文件是纯二进制格式,没有地址信息。HEX文件则包含地址信息,用于EPROM/FLASH编程。了解这些格式对于嵌入式开发至关重要。
摘要由CSDN通过智能技术生成

嵌入式系统可执行文件格式

在一个完好的硬件设备中,必须要有相应的程序才能使整个系统运行起来,我们一般所说的程序,实际上就是存储在硬件设备中的一些可执行代码。

在嵌入式操作系统中,执行代码主要包括以下几部分:

1、  嵌入式操作系统

2、  系统软件

3、  应用软件

                 

通用计算机系统的应用软件与操作系统可以分离的,也就说:我们可以单独采购应用软件与操作系统软件,也可以根据不同的需要,在同一操作系统上安装不同的应用软件以实现不同的功能。在嵌入式系统中,其执行代码大多数时候是与硬件紧密联系在一起的,特定的功能使用不同的操作系统与不同的系统软件与应用软件,在其产品化以后,一般不能在做改变。而且所有这些可执行代码一般都比较小,统一存储于嵌入式存储设备中,最常用的就是FLASH

由于不同的开发环境与不同的硬件架构,存储于嵌入式存储设备中的可执行文件格式也不尽相同,但它们基本上包含以下一些典型的特征:

可执行文件的一般信息,如:文件大小、创建时间,文件名,文件权限等。

与硬件处理器架构相关的二进制代码和数据。

符号表与符号重定位表。

调试器需要的调试信息与一些下载时需要的一些信息。不同的嵌入式环境中,其组织可执行文件的格式也不相同,主要有以下几种:

  ELF文件格式

  S-record文件格式

  HEX文件格式

  bin文件格式

1ELF文件格式(Executable and linking format

Executable and linking format(ELF)文件是Linux系统 下的一种常用、可移植目标文件(object file)格式,它有三种主要类型:

可重定位文件(Relocatable File):包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据。

可执行文件(Executable File):包含适合于执行的一个程序,此文件规定了exec() 如何创建一个程序的进程映像。

共享目标文件(Shared Object File:包含可在两种上下文中链接的代码和数据。首先链接编辑器可以将它和其它可重定位文件和共享目标文件一起处理,生成另外一个目标文件。其次,动态链接器(Dynamic Linker)可能将它与某个可执行文件以及其它共享目标一起组合,创建进程映像。详细信息可以阅读[参考2]

2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值