一种ELF文件格式的扩展应用方法技术

技术编号:18397979 阅读:22 留言:0更新日期:2018-07-08 19:06
本发明专利技术公开了一种ELF文件格式的扩展应用方法,其特征在于该方法包括如下步骤:101、读取ELE目标文件;102、读取ELE目标文件后,读取重定位信息;103、读取重定位信息后,根据扩展类型进行重新定位;104、判断是否重定位成功,若成功,则进行下一步,否则报错处理;105、重定位完成后依据重定位信息调整信息段;106、判断调整是否完成,完成则进行下一步,否则返回105步骤;107、输出新文件,结束。本发明专利技术通过ELF目标文件格式对ELF文件格式进行了特定领域的扩展,为存储用户数据并且能够更快的进行指令数据重定位,可以提高链接器重定位速度和效率。

【技术实现步骤摘要】
一种ELF文件格式的扩展应用方法
本专利技术属于人体成分分析仪
,特别涉及人体成分测量仪的反抄袭方法。
技术介绍
ELF文件是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。是UNIX系统实验室(USL)作为应用程序二进制接口(ApplicationBinaryInterface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信息。目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链接在一起来生成可执行文件或库文件。目标文件中唯一的要素是机器代码,例如,用于嵌入式系统的目标文件可能仅仅含有机器代码。目标文件格式很多如:COFF、ECOFF、XCOFF、ELF、PE等,其中ELF和PE文件格式应用非常广泛。如专利申请201410188124.7公开了一种EPS控制器的调参方法,首先在EPS控制器中的MCU提供的集成控制环境下,编译EPS控制器程序生成ELF(ExecutableandLinkableFormat)目标文件,而后通过调参装置对ELF目标文件进行解析,待ELF目标文件解析完毕后,调参装置将待调参数信息封装成读写命令发送至MCU,MCU解析读写命令,以完成对EPS控制器的调参。本专利技术在MCU程序变动时无需修改调参装置,仅需导入新的ELF目标文件即可运行,大大整合了资源,节省人力物力,同时满足不同芯片MCU调参需求,且支持在线显示变量值,动态显示变量变化曲线。然而,上述方法虽然利用ELF目标文件进行解析,从而完成对EPS控制器的调参,但是对于ELF仍然才有原有的格式文件,无法进行扩展,而且定位速度和效率都不高,亟需进行改进,特别是低端8位MCU指令集越来越完善和稳定,芯海开始自主研发的新一代IDE(IntegratedDevelopmentEnvironment)的推出,需要制定一种符合自身要求的目标文件格式。
技术实现思路
基于此,因此本专利技术的首要目地是提供一种ELF文件格式的扩展应用方法,该方法对ELF文件格式进行了特定领域的扩展,可以提高链接器重定位速度和效率。本专利技术的另一个目地在于提供一种ELF文件格式的扩展应用方法,该方法通过对ELF文件格式的自定义,可以更快更准确的对代码数据进行重定位,能够满足新一代IDE的需求。为实现上述目的,本专利技术的技术方案为:一种ELF文件格式的扩展应用方法,其特征在于该方法包括如下步骤:101、读取ELE目标文件;102、读取ELE目标文件后,读取重定位信息;103、读取重定位信息后,根据扩展类型进行重新定位;104、判断是否重定位成功,若成功,则进行下一步,否则报错处理;105、重定位完成后依据重定位信息调整信息段;106、判断调整是否完成,完成则进行下一步,否则返回105步骤;107、输出新文件,结束。其中,所述ELE目标文件的格式,包括有ELFheader、Programheadertable、.text、.rodata、……、.data、Sectionheadertable等字段。进一步,所述ELE目标文件的格式中,以“.”开头的节区名称是系统保留的。应用程序可以使用没有前缀的节区名称,以避免与系统节区冲突。目标文件格式允许人们自定义节区,目标文件中也可以包含多个名字相同的节区,保留给处理器体系结构的节区名称一般构成为:处理器体系结构名称简写+节区名称。进一步,对于ELF目标文件格式,具体地说,包括有:1、自定义的Flag扩展,2、标准Flag扩展,3、重定位类型扩展,4、指令修正位域扩展。所述重定位信息,在Object文件中有多的信息,在ELF中无法表示,所以,添加了infoname命名方式的SHT_GP_REL_INFO段来存储。更进一步,由于文件列表信息是原来Object才有的,需要专门建立了一个段来存储该信息,其内容为在字符串表中索引。本专利技术所实现的ELF文件格式的扩展应用方法,能够很好地应用于芯海自主研发的IDE,且通过ELF目标文件格式对ELF文件格式进行了特定领域的扩展,为存储用户数据并且能够更快的进行指令数据重定位,可以提高链接器重定位速度和效率。附图说明图1是本专利技术所实施的扩展应用方法流程图。图2是本专利技术所实施的ELF文件基本格式图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1所示,为本专利技术所实现的ELF文件格式的扩展应用方法流程,图中所示,该方法包括如下步骤:101、读取ELE目标文件;判断是否读取成功,是则继续下一步,否则重新读取。102、读取ELE目标文件后,读取重定位信息;判断是否成功,若成功,则进行下一步,否则报错处理。103、读取重定位信息后,根据扩展类型进行重新定位;104、判断是否重定位成功,若成功,则进行下一步,否则报错处理;105、重定位完成后依据重定位信息调整信息段;106、判断调整是否完成,完成则进一步判断是否完毕,否则报错处理;然后进一步判断是否完毕,完毕则进行下一步,否则返回105步骤;107、输出新文件,结束。结合图2所示,其中,所述ELE目标文件的格式,包括有ELDheader、Programheadertable、.text、.rodata、……、.data、Sectionheadertable等字段。所述ELE目标文件的格式中,以“.”开头的节区名称是系统保留的。应用程序可以使用没有前缀的节区名称,以避免与系统节区冲突。目标文件格式允许人们自定义节区。目标文件中也可以包含多个名字相同的节区。保留给处理器体系结构的节区名称一般构成为:处理器体系结构名称简写+节区名称。所述重定位信息,在Object文件中有多的信息,在ELF中无法表示,所以,添加了infoname命名方式的SHT_GP_REL_INFO段来存储。如:由于文件列表信息是原来Object才有的,需要专门建立了一个段来存储该信息,其内容为在字符串表中索引。对于ELF目标文件格式,具体地说,包括有:1、自定义的Flag扩展,共8bit范围(bit4~bit11)。2、标准Flag扩展,共32bit范围(bit0~bit31)。3、重定位类型扩展。4、指令修正位域扩展。重定位补充说明:由此,本专利技术所实现的ELF文件格式的扩展应用方法,能够很好地应用于芯海自主研发的IDE,且通过ELF目标文件格式对ELF文件格式进行了特定领域的扩展,为存储用户数据并且能够更快的进行指令数据重定位,可以提高链接器重定位速度和效率。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网
...

【技术保护点】
1.一种ELF文件格式的扩展应用方法,其特征在于该方法包括如下步骤:101、读取ELE目标文件;102、读取ELE目标文件后,读取重定位信息;103、读取重定位信息后,根据扩展类型进行重新定位;104、判断是否重定位成功,若成功,则进行下一步,否则报错处理;105、重定位完成后依据重定位信息调整信息段;106、判断调整是否完成,完成则进行下一步,否则返回105步骤;107、输出新文件,结束。

【技术特征摘要】
1.一种ELF文件格式的扩展应用方法,其特征在于该方法包括如下步骤:101、读取ELE目标文件;102、读取ELE目标文件后,读取重定位信息;103、读取重定位信息后,根据扩展类型进行重新定位;104、判断是否重定位成功,若成功,则进行下一步,否则报错处理;105、重定位完成后依据重定位信息调整信息段;106、判断调整是否完成,完成则进行下一步,否则返回105步骤;107、输出新文件,结束。2.如权利要求1所述的ELF文件格式的扩展应用方法,其特征在于所述ELE目标文件的格式,包括有ELFheader、Programheadertable、.text、.rodata、……、.data、Sectionheadertable字段。3.如权利要求2所述的ELF文件格式的扩展应用方法,其特征在于所述ELE目标文件的格式中,以“.”开头的节区名称是系统保留的,应用程序可以使用没有前缀的节区名称...

【专利技术属性】
技术研发人员:刘勇罗青裴远红谢韶波
申请(专利权)人:芯海科技深圳股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1