在嵌入式系统中使用x86处理器的单一bootrom的制作方法

文档序号:6361512阅读:181来源:国知局
专利名称:在嵌入式系统中使用x86处理器的单一bootrom的制作方法
技术领域
本发明涉及计算机操作系统的兼容性技术,特别涉及一种在嵌入式系统中使用x86处理器的bootrom(启动模块)制作方法。
背景技术
x86处理器多用于台式机等PC领域,因为其长期的技术积累形成了比较突出的性能优势。随着嵌入式系统市场的快速发展,特别是通信、工业控制等领域的嵌入式市场不断增长,现在越来越多的厂商和用户要求x86处理器能够应用于这些嵌入式系统。
但原有商用嵌入式操作系统如vxworks(WindRiver公司开发的具有工业领导地位的高性能实时操作系统内核)只能够生成基于PC(个人计算机)的Bios(基本输入输出系统)的映象模块,主要可以用于PC机的仿真。这样的映象其实包含了象基于其它嵌入式CPU的系统的boot部分,只是缺少了桥片初始化(如内存条相关的初始化等与系统启动密切相关的部分)。Intel公司为了推广其x86CPU在嵌入式领域的应用,推出了可定制的firmware(固件)adsfl(AppliedComputing System Firmware Library),并且针对嵌入式linux系统推出了adsfl与其它boot模块部分合二为一开发组件。
形成一个boot是能够在实际系统中获得应用的必然要求。此前的系统因缺少Bios而无法应用。在有了adsfl或自我开发了其它Bios代码以后,如果使用嵌入式linux,也可以使用了。但是,对于其它如vxworks等已有商业嵌入式操作系统,如果不达到类似功能,就只能分成两个映象文件两次烧写进两个或一个flash存储器中。它这种思路就要使用多个启动设备,即一个存放bois,一个存放bootrom,还要有另一个或多个设备如flash存储器/软盘/硬盘/flash盘/scsi等存放代码版本。另一个问题是,在嵌入式应用环境下,一般不会使用额外的软盘/硬盘等易损坏设备,而且使用它们的前提是boot中要有这些设备的驱动,这必将使得bootrom空间一般较紧张的矛盾更加突出。所以从开发过程和成本考虑,都不太可能使用这种方案。而必须实现上述的一个bootrom完成整个系统的完整的boot功能。这也是现有商用操作系统和嵌入式系统的通用做法。
综上所述,现有的方法或者无法实用,或者尚不能实现商业应用,有必要进行改进。

发明内容
本发明所要解决的技术问题在于提供一种在嵌入式系统中使用x86处理器的单一bootrom制作的方法,可以方便的应用与这种CPU的嵌入式应用开发。
本发明认同目前包括intel在内的大多数公司的做法,先将Bios部分单独编译连接成一个二进制映象、(当然要根据文件格式要求做进一步处理),vxworks等嵌入式操作系统的bootrom映象无需作任何修改。通过观察最终映象中的有关代码链接位置,使用其它编程工具(如C,C++等等)制作一个连接这两个映象的工具(可执行文件)。使用对文件操作的办法,生成最终的可使用的单bootrom映象,从而实现本文定义的功能。
本方法由两大部分组成,一是底层Bios模块的开发处理,二是制作两个模块的合并处理工具并用以生成目的bootrom映象。
本发明公开一种在嵌入式系统中使用x86处理器的单一bootrom的制作方法,包括如下步骤(1)先将Bios部分单独编译连接成一个二进制映象;(2)保留嵌入式操作系统的bootrom映象;(3)通过最终映象中的代码链接位置,使用编程工具制作一个连接这两个映象的工具;(4)使用对文件操作的办法,生成最终的可使用的单一bootrom映象。
所述步骤(2)是指生成嵌入式操作系统下的bootrom二进制模块;所述步骤(3)还包括使用反汇编工具获得步骤(2)获得的bootrom模块程序入口点链接地址;修改步骤(1)Bios程序向步骤(2)bootrom程序跳转的地址,使得两者相吻合,使用汇编编译连接工具生成可执行文件;所述步骤(4)还包括使用开发工具,制作一个文件处理工具,完成对上电启动程序跳转代码、步骤(1)及(4)生成的Bios可执行文件、步骤(2)生成的bootrom模块三个部分的操作、合并,并且最终生成单一的bootrom烧结文件。
所述最后步骤中的处理进一步包括根据硬件设计和规划确定上电程序跳转地址并且实现为代码;根据exe可执行文件的格式和二进制可执行文件的格式规定,将步骤(4)生成的exe可执行文件转化为二进制文件格式;将各个部分合并,生成可烧结的boorom文件。
所述嵌入式操作系统包括商用嵌入式操作系统。
所述商用嵌入式操作系统包括vxworks嵌入式系统。
本发明的有益效果采用本发明所述方法,弥补了现有技术的空白,解决了商用嵌入式操作系统下x86处理器的实用应用问题,同时也使得所开发的嵌入式系统能够受益于x86系统架构长期积累的较高的性能优势。


图1本发明单一bootrom映象制作流程;图2文件处理工具完成的操作流程。
具体实施例方式
下面结合附图,基本按照附图的顺序对技术方案的实施作进一步的详细描述图1是本发明的单一bootrom映象制作过程。
Bios代码功能主要是实现南北桥的正确配置,实现x86处理器从实模式向保护模式的改变,从Bios代码向商用操作系统下bootrom代码的跳转等功能。按照商用嵌入式操作系统开发方法完成bootrom映象的生成以后,需要使用反汇编的工具检查该映象的入口地址。这只需要在开发初期观察一次,以后由于修改代码不会影响到入口地址前的内容,所以无需再检查,尽管放心地在Bios代码中使用这一跳转地址即可。
EXE可执行文件是在一定操作系统下才能执行的文件格式,需要将它按照二进制文件格式要求做相应的处理。最后一步制作的工具就包含了这部分的处理功能。
根据系统设计的情况和flash rom的容量可以在制作的合并工具中实现更为灵活的多种文件大小的选择。
图2是文件处理工具完成的操作流程。
上电程序跳转是根据x86处理器系统的设计说明要求实现的二进制机器代码,将直接被用于最后的文件合并。
Bios的可执行EXE文件包含了操作系统可识别的文件头,这在二进制可执行文件是不需要的,应该将其去除。
文件合并工具应该实现各种防止出错的告警功能,以方便使用中问题的定位。使用C语言等开发工具完全可以胜任这一任务,可以制作出带输入参数(如目标文件大小参数等)的文件处理工具。将这一工具放到商用嵌入式操作系统开发环境的相关目录下,就可以象使用其它开发工具一样方便使用。
权利要求
1.一种在嵌入式系统中使用x86处理器的单一bootrom的制作方法,其特征在于,包括如下步骤(5)先将Bios部分单独编译连接成一个二进制映象;(6)保留嵌入式操作系统的bootrom映象;(7)通过最终映象中的代码链接位置,使用编程工具制作一个连接这两个映象的工具;(8)使用对文件操作的办法,生成最终的可使用的单一bootrom映象。
2.如权利要求1所述的在嵌入式系统中使用x86处理器的单一bootrom的制作方法,其特征在于,步骤(2)是指生成嵌入式操作系统下的bootrom二进制模块;步骤(3)还包括使用反汇编工具获得步骤(2)获得的bootrom模块程序入口点链接地址;修改步骤(1)Bios程序向步骤(2)bootrom程序跳转的地址,使得两者相吻合,使用汇编编译连接工具生成可执行文件;步骤(4)还包括使用开发工具,制作一个文件处理工具,完成对上电启动程序跳转代码、步骤(1)及(4)生成的Bios可执行文件、步骤(2)生成的bootrom模块三个部分的操作、合并,并且最终生成单一的bootrom烧结文件。
3.如权利要求2所述的在嵌入式系统中使用x86处理器的单一bootrom的制作方法,其特征在于,所述最后步骤中的处理进一步包括根据硬件设计和规划确定上电程序跳转地址并且实现为代码;根据exe可执行文件的格式和二进制可执行文件的格式规定,将步骤(4)生成的exe可执行文件转化为二进制文件格式;将各个部分合并,生成可烧结的boorom文件。
4.如权利要求1所述的在嵌入式系统中使用x86处理器的单一bootrom的制作方法,其特征在于,所述嵌入式操作系统包括商用嵌入式操作系统。
5.如权利要求4所述的在嵌入式系统中使用x86处理器的单一bootrom的制作方法,其特征在于,所述商用嵌入式操作系统包括vxworks嵌入式系统。
全文摘要
本发明涉及一种在嵌入式系统中使用x86处理器的单一bootrom的制作方法,先将Bios部分单独编译连接成一个二进制映象,保留嵌入式操作系统的bootrom映象,通过最终映象中的代码链接位置,使用编程工具制作一个连接这两个映象的工具,使用对文件操作的办法,生成最终的可使用的单一bootrom映象。本发明解决了商用嵌入式操作系统下x86处理器的实用应用问题,同时也使得所开发的嵌入式系统能够受益于x86系统架构长期积累的较高的性能优势。
文档编号G06F9/45GK1553323SQ0313181
公开日2004年12月8日 申请日期2003年6月5日 优先权日2003年6月5日
发明者陈勇, 陈 勇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1