嵌入式系统的动态加载系统及其加载方法技术方案

技术编号:3842874 阅读:310 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种嵌入式系统的动态加载系统及其加载方法,该系统包括系统平台以及系统平台中的应用模块,还包括动态加载装置,其中该装置包括:信息模块,由嵌入式系统中或者系统的应用调用中的一组函数或者接口构成;信息模块加载器,下载所述信息模块中的信息;信息管理器,接收所述信息模块加载器传递的信息,提供函数调用口;加载简表,记录所加载的信息的数据集合。由于本发明专利技术是面向应用进行了动态加载,保证了流程开发周期,进而提高了开发效率,降低开发成本,满足现在市场的快速发展。

【技术实现步骤摘要】

本专利技术涉及一种动态加载方法及其加载系统,尤其是指一种在嵌入式系 统中应用的易于开发和扩展的动态加载方法及其加载系统。
技术介绍
随着信息技术的高速发展,嵌入式系统以其小体积、高可靠,并且能够 满足实现野战和恶劣环境下的便携虚拟仪器的需要等优点,在各行各业的应 用也越来越广泛,近几年来基于嵌入式系统的应用开发更是有了很大的发展,随着嵌入式技术的发展和成熟,其中ARM系统成为嵌入式领域应用比 较广泛的嵌入式系统之一,而该ARM系统随着应用要求的进一步增加,其 软件开发也随之更加广泛和复杂。在现有的嵌入式系统中,嵌入式开发过程 是将应用与操作系统编译链接成一个整体,然后直接将其挂载到相应的硬件 上运行,而这个版本就是终身运行所采用的版本。而这样一来,在使用版本 开发完成后,如果在调试过程中发现该应用本身存在问题,就需要对系统进 行重新编译,重复下载运行的过程,相当于重新进行,无形中增加了运行风 险以及日后维护,而且在对应用进行维护和升级的时候,也需要再重新进行 编译,这样开发流程周期大大延长,即加大开发的成本,也无法满足快速市 场化的需要。综上所述,嵌入式系统尽管具有使用上可靠方便等优点,但是在进行开 发的时候基本上都是采用直接面向硬件的加载技术,这相对于越来越复杂的 应用已经带来了开发流程长,开发成本高以及无法满足市场快速发展的需 要。
技术实现思路
本专利技术的目的在于提出一种动态加载方法及其加载系统,该方法和系统 以嵌入式系统平台为基础进行面向应用的动态加载,进一步适应了越来越复4杂的应用。本专利技术的目的是这样实现的一种嵌入式系统的动态加载系统,包括系统平台以及系统平台中的应用 模块,还包括动态加载装置,其中该装置包括信息模块,由嵌入式系统中或者系统的应用调用中的一组函数或者接口 构成;信息模块加载器,下载所述信息模块中的信息;信息管理器,接收所述信息模块加载器传递的信息,提供函数调用口;加载简表,记录所加载的信息的数据集合。优选的,所述信息模块加载器所下载的信息模块中的信息为表示所述信 息模块的数据结构的信息头。优选的,所述的信息模块可以设置在系统平台的二级存储装置中,该所 述二级存储装置可为硬盘或flash或内存存储设备。优选的,所述动态加载装置还包括函数调用模块,用于与所述模块管理 器交互,获得所需函数并送至应用模块运行。优选的,所述动态加载装置还包括信息释放模块,用于在调用返回时释 》欠信息管理器的调用信息。本专利技术还提出一种嵌入式系统的动态加载方法,包括获得模块信息的信息头内容;解析所获得的所述信息头内容;将解析后获得的相关信息加载到加载简表中;将系统函数的调用入口送给所述信息模块保存。优选的,还包括函数调用步骤,发出函数调用请求,所述调用请求包含所请求的模块信息和函数信息; 接收所述调用请求,并通过加载简表获得需调用的函数信息; 调用并执行所述函数。优选的,还包括,在函数调用后的释放步骤,所述释放步骤是指在函数 调用返回时,释放信息管理器的调用信息。优选的,采用动态两级调用方式进行函数调用。优选的,所述动态两级调用方式为由加载简表获得各个信息模块的入口地址;进入信息模块后,由信息模块提供的函数地址表进行具体函数调用。 本专利技术所述的方案具有以下技术效果由于本专利技术是面向应用进行了动态加载,保证了流程开发周期,进而提 高了开发效率,降低开发成本,满足现在市场的快速发展。附图说明图1为本专利技术的实施例中在嵌入式系统中的动态加载系统框图; 图2为本实施例中的模块结构示意图; 图3为本实施例的动态加载流程示意图; 图4为本实施例的模块函数调用示意图; 图5为本实施例的两级定位示意图6为本专利技术的实施例中在嵌入式系统中的动态加载流程图。 具体实施例方式本专利技术所述的在嵌入式系统中的动态加载方法是面向应用的加载,以系 统平台为基础实现的。本实施例是基于ARM的Nucleus嵌入式系统对本发 明所述的方法进行说明的。在本专利技术中以一个具体的加载系统进行说明,在嵌入式系统中的进行程6序链接时,程序链接分静态链接、加载链接和运行链接。其中所述静态链接就是将程序和它运行所需的全部库链接成一个执行文件;所述加载链接是指 程序在编译链接时不会把它用到的库链接到执行程序中,而是在它被信息加 载器加载时才解析执行文件,依次把用到的库装载到系统中让其运行;所述 动态链接是加载链接的进一 步发展,指将库的加载过程延迟到程序运行时执 行。所述静态链接的优点是可以独立运行、速度快,但是生成的代码尺寸比 较大;加载链接的优点是程序代码量减小,但是运行时程序占的内存并没有 减小;动态链接不会给程序引入额外的代码,只有当应用真正使用某库时才 会加载该库,减少了不必要的空间占用,它的缺点是会带来一些运行开销, 应用开发和维护不太便捷。本专利技术的实施例是以动态链接为例进行说明,如图l所示,本专利技术的系 统具体包括信息模块,该信息模块可由嵌入式系统中或者系统的应用调用中 的 一组函数或者接口构成,其中该信息模块具有一个包含了该模块信息的数 据结构单元,在本实施例中该结构单元为信息头;信息模块加栽器,该加载 器下载所述信息模块,提取其中的信息头,即数据结构单元,所述信息模块 加载器将所述信息头传递给信息管理器;所述信息管理器管理所加载的模块 信息,提供系统调用模块调用入口,管理外部调用进出的逻辑;同时本专利技术 所述的系统还包括加载简表,该加载简表记录所加载的信息模块的数据集 合,由系统中的应用模块通过该加载简表调用指定模块提供的函数,并将其 提供给所述信息管理器管理。在本专利技术中所述的信息模块可以设置在系统的 二级存储装置中,该所述二级存储装置可为硬盘,flash等存储设备。如图2所示,是本专利技术所述的信息模块的结构示意图,在进行信息模块 加载时,系统中的信息模块加载器将信息模块的信息从二级存储设备搬移到 指定内存空间,并将各个信息模块信息送至信息管理器,模块管理器将该模 块信息注册到加载简表中。本专利技术中的所述的信息模块最终是需要注册到加 载简表用于被应用模块调用,因此所述信息模块包含特定的信息以用于注册 和调用,这个信息是模块的一个组成部分,即数据结构单元,也就是信息头。 所述信息头有两个作用 一是为信息管理器提供识别信息,用于信息管理器 处理来自嵌入系统中的应用模块或者其他模块的调用;二是提供对嵌入系统中的函数调用提供入口,这个入口在加载过程中有信息管理器实现。本专利技术 所述的系统模块的主题内容就是模块所实现的应用的函数集合,也就信息模块4是高的APIs。简单的说,信息模块被开发完成上载到服务器或者二级存储设备上时, 信息加载器把模块信息头的内容送给管理器,信息管理器解析信息头并且把 模块的相关信息加载到加载简表里,为了是的模块能够调用系统函数,所述 信息管理器把系统函数的调用入口送给所述信息模块,由所述信息模块保存 在信息头里,这样就完成了一个信息模块的加载。如图3所示,为本专利技术方案的动态加载流程图,当本实施例中的嵌入式 系统的应用程序需要调用所开发的信息模块提供的函数的时候,首先向模块 管理器发出调用请求,这个请求包含所请求的模块信息和函数信息,当所述 模块管理器收到调用请求的时候,根据模块信息通过加载简表找到相应的应 用模块获得函数信息,然后把函数本文档来自技高网...

【技术保护点】
一种嵌入式系统的动态加载系统,包括系统平台以及系统平台中的应用模块,其特征在于,还包括动态加载装置,其中该装置包括: 信息模块,由嵌入式系统中或者系统的应用调用中的一组函数或者接口构成; 信息模块加载器,下载所述信息模块中的信息 ; 信息管理器,接收所述信息模块加载器传递的信息,提供函数调用口; 加载简表,记录所加载的信息的数据集合。

【技术特征摘要】

【专利技术属性】
技术研发人员:王今安李建涛傅乐民
申请(专利权)人:北京北纬通信科技股份有限公司
类型:发明
国别省市:11[中国|北京]

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

1