会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 申请 / 一种无线传感网络中加速加载ELF文件的方法

一种无线传感网络中加速加载ELF文件的方法

阅读:783发布:2021-02-28

IPRDB可以提供一种无线传感网络中加速加载ELF文件的方法专利检索,专利查询,专利分析的服务。并且本发明公开了一种无线传感网络中加速加载ELF文件的方法。本发明方法通过预先获得节点端的内存地址信息,在基站上预加载ELF文件,并修正文件中所引用的符号的地址信息,因此可以减少数据的传输,因为预先在基站上完成了模块的连接过程,因此在传输模块的过程中不需要传送ELF文件的重定位信息和符号信息,其次在节点端可以简化模块的加载过程,加速模块加载过程,因为连接过程和预加载过程由节点端转移到了基站,基站发送的到节点的二进制镜像已经是修正好地址的可执行文件,因此在节点上只需要把镜像写入申请好的内存位置就可以了,省去了重定位的过程。,下面是一种无线传感网络中加速加载ELF文件的方法专利的具体信息内容。

1.一种无线传感网络中加速加载ELF文件的方法,其特征在于该方法的步骤如下:

1)解析需要加载的ELF文件,获得模块有关加载的信息,包括ELF文件中数据段和代码段的大小;

2)根据获取的数据段和代码段的信息,基站向一个节点发送数据包,数据包的内容为需申请内存空间的大小,包括为数据段申请的数据内存和为代码段申请的程序内存;

3)节点根据收到的数据包,申请指定大小的数据内存空间和程序内存空间,返回申请到的内存空间的地址,并将地址通过无线通信发送到基站;

4)根据步骤3)申请的内存空间地址,在基站上对ELF文件进行链接和预加载,根据申请到的内存空间地址修正ELF文件中引用的符号的地址,使其指向正确的地址;

5)提取ELF文件中的数据段和代码段,将这两个段的内容通过无线通信发送到节点;

6)节点接收完数据后,将数据段加载到步骤3)中申请的数据内存地址,将代码段写入程序内存flash上申请到的地址,然后跳转到代码段的入口地址,执行代码。

说明书全文

一种无线传感网络中加速加载ELF文件的方法

技术领域

[0001] 本发明涉及加载技术,尤其是在无线传感网络中加速加载ELF文件的技术。

背景技术

[0002] 近年来,随着信息技术的进步,一种信息的获取技术--传感技术,也得到了迅速的发展,从上世纪末开始,现场总线技术开始应用于传感器网络,人们用其组建智能化传感器网络,大量多功能传感器被运用,近些年无线技术的进步,人们将其运用在传感器网络中,形成了无线传感器网络。
[0003] 无线传感网络是新一代的传感器网络,具有广泛的应用前途。它不仅在工业、农业、军事、环境、医疗等传统领域具有巨大的运用空间,在家用,保健,交通等新兴领域也展示出非凡的应用价值。
[0004] 无线传感网络存在自身的特点:节点资源有限,数量大,分布广,系统动态性强。往往通过电池来供电,因此低功耗成为无线传感网络设计的一个重要的特性。根据其特点无限传感网络在其部署之后,需要能够动态更新其节点上程序,此过程称为重编程。现有的很多操作系统通过基于模块加载的方式,来实现重编程的功能。模块采用ELF文件来实现,用于模块的ELF文件通常为可重定位类型的ELF文件。因为可以根据加载位置,来重定位文件中引用符号的地址,此类型文件可以被加载到任意的地址,操作系统可以在运行时实现模块的动态的连接、重定位和加载。模块可以通过网络或者EEPROM来获取,通过模块加载机制,可以很容易的实现软件的更新。基于可重定位的ELF文件的模块加载的过程,主要通过两个阶段,首先是动态连接的过程,动态连接的本质,就是对ELF文件的进行重定位和符号解析,此过程需要一些模块的相关信息来完成模块的动态链接,比如模块引用符号的相关信息;第二个阶段为加载过程,把模块的各个段加载到指定的内存地址。

发明内容

[0005] 本发明提出了一种可以加速加载ELF文件的方案,并且可以有效的减少加载时需要的模块信息,从而达到低功耗的要求。
[0006] 本发明针对的是Micaz平台,采用在基站预加载ELF文件的方案来实现模块的加速加载。其具体步骤如下:
[0007] 1)解析需要加载的ELF文件,获得模块有关加载的信息,包括ELF文件中数据段和代码段的大小;
[0008] 2)基站向一个节点发送数据包,数据包的内容为需申请内存空间的大小,包括为数据段申请的数据内存和为代码段申请的程序内存;
[0009] 3)节点根据步骤2)的信息,申请指定大小的数据内存空间和程序内存空间,返回申请到的空间的地址,并将地址通过无线通信发送到基站;
[0010] 4)根据步骤3)申请的地址,在基站上对ELF模块进行连接和预加载,根据申请到的内存空间地址修正ELF文件中引用的符号的地址信息,使其指向正确的地址;
[0011] 5)提取ELF文件中的数据段和代码段,将这两个段的内容通过无线通信发送到节点;
[0012] 6)节点上接受完数据后,将数据段加载到步骤3)中申请的数据内存地址,将代码段写入程序flash上申请到的地址,然后跳转到代码段的入口地址,执行代码。
[0013] 所述的在基站上对ELF模块进行连接和预加载,根据申请到的内存的空间地址,就可以修正ELF文件中与这些地址相关的符号的地址,使其指向将要在节点上加载的正确的地址。
[0014] 所述的提取ELF文件中的数据段和代码段,将这两个段的内容通过无线通信发送到节点,因为ELF文件经过在基站的预加载,其包含的地址信息都是正确的,因此只需要传送数据段和代码段就可以了,而不必发送整个ELF文件。
[0015] 所述的节点上需要完成的加载过程只包括将数据段加载到步骤3)中申请的数据内存地址,将代码段写入程序flash上申请到的地址。
[0016] 本发明与背景技术相比,具有有益的效果是:
[0017] 首先可以减少数据的传输,因为预先在基站上完成了模块的连接过程,因此在传输模块的过程中不需要传送ELF文件的重定位信息和符号信息,其次在节点端可以简化模块的加载过程,加速模块加载过程,因为连接过程和预加载过程由节点端转移到了基站,基站发送的到节点的二进制镜像已经是修正好地址的可执行文件,因此在节点上只需要把镜像写入申请好的内存位置就可以了,省去了重定位的过程。

附图说明

[0018] 附图是本发明方法的流程示意图。

具体实施方式

[0019] 基于AVR的体系结构,编译一个需要发布的模块的代码,生成可重定位的ELF文件格式,通过avr-gcc的“-c”选项可以实现这一过程,如附图所示:
[0020] 1)首先在基站段按照ELF的文件格式解析这个ELF文件,获取此ELF文件中数据段和代码段的信息,其中数据段包括.data,.bss段,代码段包括.text段,信息主要包括这些段在文件中的位置偏移量,和这些段的大小,同时获取重定位段的信息,即“.rela.text”段的信息,为后面的重定位过程做准备;
[0021] 2)根据1)中获取的数据段和代码段的信息,向节点发送数据包,申请内存空间,数据包内容为需要申请内存的大小,Micaz属于哈佛体系结构,其数据和指令时分开存储的,所以数据包内容需要包含数据内存和程序内存的大小。在RAM中申请指定大小的内存空间,这个大小为.data段和.bss段大小的总和,在程序Flash上申请指定大小的程序内存空间,这个大小为.text段的大小,将申请到的空间的地址,通过无线通信,发送到基站;
[0022] 3)节点端根据收到的数据包,为ELF文件申请内存空间,在RAM中申请指定大小的内存空间,这个大小为.data段和.bss段大小的总和,在程序Flash上申请指定大小的程序内存空间,这个大小为.text段的大小,将申请到的空间的地址,通过无线通信,发送到基站;
[0023] 4)基站根据接收到的内存地址,此内存地址即为ELF文件的加载的内存位置,在基站段对ELF文件进行连接和预加载。这个过程主要是ELF文件的重定位的一个过程,由于可重定位的ELF文件中,没有加载地址的信息,所以其中引用到的数据段和内存段的一些符号,其地址信息都是空的,需要根据3)中申请的内存地址,把这些空的地址信息修正为正确的地址,根据1)中所得到的重定位段的信息,重定位段是有重定位数据组成的,每条重定位信息,包括了需要重定位的地址,与这条重定位关联的符号的信息和重定位类型。根据重定位信息,定位到文件需要重定位的地方,然后获取重定位关联的符号的信息,找到这个符号需要加载的内存地址,将此地址写入,这样这条指令中的地址信息则是正确的地址信息了;
[0024] 5)重定位完成后,提取链接后的ELF文件中的.data段,.bss段,.text段,封装成数据包,并发送到节点端;
[0025] 6)节点接受数据包,并将.data和.bss的内容写到步骤3)中申请的RAM地址,并将.bss段内容初始化为0,将.text段内容写入步骤3)申请的程序Flash地址,然后跳转到.text的入口开始执行此模块。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用