[发明专利]实现嵌入式设备引导程序通用性的方法及装置无效
申请号: | 201110377957.4 | 申请日: | 2011-11-24 |
公开(公告)号: | CN103135997A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 赖颖军 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 嵌入式 设备 引导 程序 通用性 方法 装置 | ||
技术领域
本发明涉及到嵌入式设备的引导程序,特别涉及到一种实现嵌入式设备引导程序通用性的方法及装置。
背景技术
目前的嵌入式设备大多有自己的引导程序,而随着商业上的需求不断增加,引导程序的功能及复杂性也日益增加。很多情况下这些硬件设备具有很大的相似性,但又存在差异,此时,通常对嵌入式设备采用一种单板一种引导程序的方法,或者是在引导程序的处理流程中增加大量处理分支的方法,来解决并处理硬件上有差异的不同嵌入式设备的引导。
事实上,如果单板采用相同类型或者相近类型的CPU,引导程序的处理流程基本一致,而差别主要是在由于硬件的差异而导致的硬件芯片初始化及其配置的不同。但是,无论是采用一种单板一种引导程序,还是一种引导程序中增加大量判断分支的方法,都会增大对引导程序进行维护的工作量,并且降低引导程序的可扩展性。其次,由于引导程序与硬件结合比较紧密,传统的开发也很难将底层驱动模块的开发和上层支撑模块的开发进行解耦,不利于引导程序的功能升级及维护。最后,关于引导程序的版本管理也变得非常复杂,往往每新增一块单板,引导程序的版本就要发生一次变化。
发明内容
本发明的主要目的为提供一种实现嵌入式设备引导程序通用性的方法,使得对外设有差异的硬件的初始化可以采用通用的引导程序,减小了对引导程序进行维护的工作量,并且增加了引导程序的可扩展性。
本发明提供一种实现嵌入式设备引导程序通用性的方法,包括以下步骤:
区分通用硬件和不通用硬件;
为不通用硬件分配数据结构,生成与所述数据结构对应的配置参数文件,并根据所述数据结构配置引导程序代码;
将所述配置参数文件和引导程序代码链接为映像文件,并将所述引导程序代码存放在所述映像文件中的引导程序区,将所述配置参数文件中的配置参数存放在所述映像文件中的参数区;
通过所述引导程序代码将CPU及通用硬件进行初始化,并通过所述配置参数和所述引导程序代码将所述不通用硬件进行初始化。
优选地,所述为不通用硬件分配数据结构,生成与所述数据结构对应的配置参数文件,并根据所述数据结构配置引导程序代码包括:
根据不通用硬件定义一种数据结构,并生成配置参数的文本文件,将所述配置参数的文本文件转换为所述数据结构所对应的配置参数文件;
根据所述数据结构配置引导程序代码,所述引导程序代码支持所述配置参数文件中的配置参数。
优选地,所述将配置参数文件和引导程序代码链接为映像文件包括:
将所述配置参数文件和引导程序代码进行编译,链接为一个映像文件,并将所述映像文件分为引导程序区和参数区。
优选地,所述通过引导程序代码将CPU及通用硬件进行初始化,并通过所述配置参数和所述引导程序代码将所述不通用硬件进行初始化包括:
通过所述引导程序区中的引导程序代码将CPU及通用硬件进行初始化;
读取所述参数区中的配置参数,并根据所述配置参数和所述引导程序代码将所述不通用硬件进行初始化。
本发明还提供一种实现嵌入式设备引导程序通用性的装置,包括:
区分模块,用于区分通用硬件和不通用硬件;
分配模块,用于为不通用硬件分配数据结构,生成与所述数据结构对应的配置参数文件,并根据所述数据结构配置引导程序代码;
链接模块,用于将所述配置参数文件和引导程序代码链接为映像文件,并将所述引导程序代码存放在所述映像文件中的引导程序区,将所述配置参数文件中的配置参数存放在所述映像文件中的参数区;
初始化模块,用于通过所述引导程序代码将CPU及通用硬件进行初始化,并通过所述配置参数和所述引导程序代码将所述不通用硬件进行初始化。
优选地,所述分配模块包括:
转换单元,用于根据不通用硬件定义一种数据结构,并生成配置参数的文本文件,将所述配置参数的文本文件转换为所述数据结构所对应的配置参数文件;
配置单元,用于根据所述数据结构配置引导程序代码,所述引导程序代码支持所述配置参数文件中的配置参数。
优选地,所述链接模块包括:
链接单元,用于将所述配置参数文件和引导程序代码进行编译,链接为一个映像文件,并将所述映像文件分为引导程序区和参数区。
优选地,所述初始化模块包括:
第一初始化单元,用于通过所述引导程序区中的引导程序代码将CPU及通用硬件进行初始化;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110377957.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种太阳能跟踪机构
- 下一篇:一种按季节太阳自动跟踪装置