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

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

阅读:766发布:2021-03-02

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

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

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

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

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

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

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

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

2.根据权利要求1所述的一种无线传感网络中加速加载ELF文件的方法, 其特征在于:所述的在基站上对ELF模块进行连接和预加载,根据申请到的内 存的空间地址,就可以修正ELF文件中与这些地址相关的符号的地址,使其指 向将要在节点上加载的正确的地址。

3.根据权利要求1所述的一种无线传感网络中加速加载ELF文件的方法, 其特征在于:所述的提取ELF文件中的数据段和代码段,将这两个段的内容通 过无线通信发送到节点,因为ELF文件经过在基站的预加载,其包含的地址信 息都是正确的,因此只需要传送数据段和代码段就可以了,而不必发送整个ELF 文件。

4.根据权利要求1所述的一种无线传感网络中加速加载ELF文件的方法, 其特征在于:所述的节点上需要完成的加载过程只包括将数据段加载到步骤3) 中申请的数据内存地址,将代码段写入程序flash上申请到的地址。

说明书全文

技术领域

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

背景技术

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

发明内容

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

附图说明

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

具体实施方式

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

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

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

电话:13651749426

侵权分析

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

立即试用