一种支持多种处理器的嵌入式系统及方法技术方案

技术编号:2830608 阅读:188 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种支持多种处理器的嵌入式系统,包括应用软件层模块及与之相连的系统层模块,还包括CPU,该嵌入式系统还包括分别与应用软件层模块、系统层模块、CPU分别相连的CPU抽象层模块,该CPU抽象层模块保存有根据CPU参数定义的各种应用程序接口API。编写、编译及运行系统层和/或应用软件层的应用程序时,根据需要从所述CPU抽象层调用应用程序接口API。本发明专利技术所设计嵌入式系统及其实现方法,在更改CPU时,只需根据CPU参数修改或重新定义CPU抽象层中的API即可,所以能够在不作修改应用软件的情况下,移植到不同的开发环境。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统
,尤其涉及一种支持多种处理器的嵌入 式系统及方法。
技术介绍
当前嵌入式系统技术已经广泛应用于社会生活的各个领域,现有的嵌入 式系统中,通常包括嵌入式硬件部分和嵌入式软件部分。嵌入式软件与嵌入式系统的开发环境紧密相关,当嵌入式硬件环境(例如CPU)改变时,若原有的嵌入式软件部分不做修改,则该软件部分将很难工作。也就是说软件 部分受系统硬件环境制约比较大,造成软件部分通用性较差,在更换硬件环 境时软件部分的可移植性不强、维护性较差。因此,现有技术中就有可能出现必须一套硬件环境仅对应于特定的一套 软件环境的情形,当需要将所开发的软件部分移植到其它硬件环境时,则需要根据新硬件环境下的CPU等硬件情况,对软件部分进行大量修改操作,以使其适应新的硬件环境。这就必然会给嵌入式系统的开发和维护都增加了 困难。在现有嵌入式系统的这种机制下,也很难构建一个强大的嵌入式测试 环境,使之可以自动的完成对不同环境下的测试。如图1所示,给出了现有的一般的嵌入式软件部分的设计结构。其中,最上层的是应用软件层(Application),用于实现芯片的高级应用;中间层 是系统层(System),用于完成系统Kenel的一些操作,例如命令解析,任 务切换等;所有软件部分的操作最终都是要产生对CPU的寄存器读写。在 读写时, 一般的软件结构都是通过软件直接访问CPU的寄存器来完成相应 的读写操作。因此,在图l所示的嵌入式系统中,如果将软件部分移植到另 一个嵌入式系统中,当CPU改变时,需要对软件部分进行大量的修改,才 能正常进行测试或应用。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种支持多种处理器的嵌入式系 统及方法,在硬件环境变化时,实现无需修改系统层和/或应用程序层的应 用程序,而适应多种处理器的目标。本专利技术提供一种支持多种处理器的嵌入式系统,包括应用软件层模块及与之相连的系统层模块,还包括CPU,该嵌入式系统还包括分别与应用软 件层模块、系统层模块、CPU分别相连的CPU抽象层模块,该CPU抽象层 模块保存有根据CPU参数定义的各种应用程序接口 API。所述应用程序接口 API,是根据多种嵌入式CPU的具有共性的特性或 功能进行抽象定义得到的接口。所述应用程序接口API,是预先定义在所述 CPU抽象层模块中的,和/或根据CPU参数进行重新定义或修改的接口 。所述CPU抽象层模块,进一步包括一个用于存储所述应用程序接口 API 与CPU类型对应关系的索引表。所述应用软件层模块和/或系统层模块,是根据一个表示CPU类型的全 局变量从所述索引表中获取针对该CPU类型对应的应用程序接口 API。所述CPU是ARM7、或者ARM9、或者C51类型的CPU。本专利技术还提供一种支持多种处理器的嵌入式系统的实现方法,包括如下 步骤(1 )根据多种嵌入式CPU的具有共性的特性或功能进行抽象定义得到 应用程序4妻口 API;(2) 利用所述应用程序接口 API构成CPU抽象层;(3) 编写、编译及运行系统层和/或应用软件层的应用程序时,根据需 要从所述CPU抽象层调用应用程序接口 API。所述方法进一步包括所述应用程序接口 API针对不同的CPU定义为一个相同API或多个不同API。所述应用程序接口API,是根据CPU类型重新定义或修改的。 步骤(3)中,进一步包括所述系统层和/或应用软件层的应用程序运行时,是根据一个用于存储 所述应用程序接口 API与CPU类型对应关系的索引表调用应用程序接口 API。所述系统层和/或应用软件层的应用程序运行时,是根据一个表示CPU 类型的全局变量从所述索引表中获取针对该CPU类型对应的应用程序接口 API。所述CPU的类型是通过JTag来检测嵌入式系统CPU获得的。所述表 示CPU的类型的全局变量是通过串口方式或JTag来修改的。所述CPU是 ARM7、或者ARM9、或者C51类型的CPU。本专利技术所设计嵌入式系统及其实现方法,因为所使用的应用软件都是通 过调用API接口来实现相应功能,而各个API接口针对不同的CPU具有相 同的功能而采用类似定义而保存在CAL层中,更改CPU时,只需根据CPU 参数修改或重新定义CAL层中的API即可,所以能够在不作修改应用软件 的情况下,移植到不同的开发环境。附图说明图l是现有技术中一般的嵌入式软件部分的设计结构图; 图2是本专利技术所提供的嵌入式系统的结构框图3是本专利技术实施例中利用计算机上的Pc工具实现JTag访问嵌入式系 统的示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,以下结合附图对本专利技术 作进一步地详细说明。针对现有嵌入式系统技术中,嵌入式软件部分对硬件环境的严重依赖, 造成软件部分可移植性差,移植时操作复杂等问题,本专利技术提出了一种支持 多种处理器的嵌入式系统及其实现方法。相比于现有技术中嵌入式系统的软件部分需要直接访问CPU寄存器而 言,本专利技术的创新点主要在于提供一个抽象层CAL (CPU Abstract Level)作为嵌入式系统软件部分 与CPU硬件的接口,使得上层软件独立于CPU的选择,在抽象层中提供根 据CPU参数定义的各种API (应用程序接口, Application Programming Interface)接口,供软件部分根据实际需要进行调用。在调用时,软件部分只要调用这些API接口来实现相应的软件功能,而 不用关心当前使用的究竟是哪种处理器。因此,软件设计时,无需关注CPU 的具体参数,只要根据实际需要写入该软件应用时需要调用的API即可。同 时,在改变CPU硬件时,仅需要根据新的CPU参数,修改或添加相关API 接口的定义即可。其中,可以预先针对各种类型的CPU分别定义好相应的 API接口并保存在抽象层中供软件部分调用,也可以根据CPU的变化动态 修改API接口定义。同时,本专利技术还进一步给出了可以动态识别和修改处理器定义的方法。如图2所示,给出了本专利技术所提供的嵌入式系统的结构框图,包括(1) 最上层的应用软件(Application)层模块,用于实现嵌入式芯片 的高级应用,根据任务需要调用所需的API接口,实现相应功能;(2) 中间层是系统层(System)模块,用于完成嵌入式系统Kenel的 一些操作,例如命令解析,任务切换等,根据系统控制需要调用所需的相应 API接口,实现相应功能;(3 ) CPU抽象层模块,用于定义及保存根据CPU参数进行定义生成的 具有特定功能的面向应用软件模块和系统层模块的各种API接口 ,并在应用 软件模块和/或系统层模块需要时,提供相应的API接口功能。例如,常见的APU妻口CpuJTimerEnable(int index, bool enable); /*打开或者关闭时4中*/Cpu—CacheEnable(int index, bool enable); /*打开或者关闭cache功能*/ Cpu—Buslnit(int index, int type); /*初始4匕指定的bus */当然,API接口并不限于上述列举的几种,使用者可根据需要在CAL 层中结合CPU参数进行定义,定义出软件部分所需要的各种功能的API接。(4)CPU硬件模块,其为本文档来自技高网...

【技术保护点】
一种支持多种处理器的嵌入式系统,包括应用软件层模块及与之相连的系统层模块,还包括CPU,其特征在于,该嵌入式系统还包括分别与应用软件层模块、系统层模块、CPU分别相连的CPU抽象层模块,该CPU抽象层模块保存有根据CPU参数定义的各种应用程序接口API。

【技术特征摘要】
1、一种支持多种处理器的嵌入式系统,包括应用软件层模块及与之相连的系统层模块,还包括CPU,其特征在于,该嵌入式系统还包括分别与应用软件层模块、系统层模块、CPU分别相连的CPU抽象层模块,该CPU抽象层模块保存有根据CPU参数定义的各种应用程序接口API。2、 如权利要求1所述的嵌入式系统,其特征在于,所述应用程序接口 API,是根据多种嵌入式CPU的具有共性的特性或 功能进行抽象定义得到的接口 。3、 如权利要求1所述的嵌入式系统,其特征在于,所述应用程序接口 API,是预先定义在所述CPU抽象层模块中的,和/ 或根据CPU参数进行重新定义或修改的接口 。4、 如权利要求1所述的嵌入式系统,其特征在于,所述CPU抽象层模块,进一步包括一个用于存储所述应用程序接口 API 与CPU类型对应关系的索引表。5、 如权利要求4所述的嵌入式系统,其特征在于,所述应用软件层模块和/或系统层模块,是根据一个表示CPU类型的全 局变量从所述索引表中获取针对该CPU类型对应的应用程序接口 API。6、 如权利要求1至5中任何一项所述的嵌入式系统,其特征在于, 所述CPU是ARM7、或者ARM9、或者C51类型的CPU。7、 一种支持多种处理器的嵌入式系统的实现方法,其特征在于,包括 如下步骤(1 )根据多种嵌入式CPU的具有共性的特性或功能进行抽象定义得到 应...

【专利技术属性】
技术研发人员:黄鑫游明琦
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1