[发明专利]X86飞控计算机快速启动方法无效
申请号: | 200910029309.2 | 申请日: | 2009-04-08 |
公开(公告)号: | CN101515239A | 公开(公告)日: | 2009-08-26 |
发明(设计)人: | 李秀娟;王永亮 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 南京经纬专利商标代理有限公司 | 代理人: | 唐小红 |
地址: | 210016*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种X86飞控计算机快速启动方法,属一种X86架构计算机系统的快速启动方法。对于X86体系结构CPU,启动初期一般处于实模式工作环境,此时CPU只能访问1MB的内存大小,用户能够访问的只有575KB。VxWorks系统通常是经过二次引导启动的,操作系统加载完成后才启动应用程序,因而导致存在较长的启动时间。本发明通过对VxWorks操作系统进行裁剪,并将应用程序的紧急任务和非紧急任务,一次性直接加载全功能VxWorks系统映像VxWorks_rom,并同时加载应用程序的紧急任务,利用VxWorks的链接器、加载器以及符号表技术,将操作系统和应用程序的非紧急任务模块于系统启动后进行动态加载,从而大大提高了飞控计算机关键应用程序的启动速度。对于航空航天等安全紧要系统的控制计算机的快速启动有现实的应用背景。 | ||
搜索关键词: | x86 计算机 快速 启动 方法 | ||
【主权项】:
1.一种X86飞控计算机快速启动方法,该快速启动方法是,采用Workbench2.5作为开发工具,硬盘或CF卡作为VxWorks系统启动设备,包括如下步骤:(1)硬盘的格式化和引导记录的写入制作DOS启动盘,在目标机中DOS启动盘为A盘,将vxsys.com拷贝到启动盘中,在DOS环境下,执行命令:A:\vxsys C:在硬盘中生成VxWorks系统的主引导记录vxld;(2)定制BSP在建立所有的工程之前,首先根据硬件情况来配置BSP,然后将所有的工程都建立在此BSP上,对BSP的定制,是靠修改相关的配置文件configAll.h,config.h,makefile来完成,其中多修改BSP的配置文件config.h,达到修改内存地址、硬件配置等目的,Makefile是bootrom映像的编译规则文件,但含有内存地址相关的宏定义,所以应和config.h文件中一致,同时也需要修改makefile配置文件,一般是添加EXTAR_MODULE定义;其特征在于,对VxWorks操作系统和应用程序均按任务的紧急程度进行分解,并按优先次序加载,实现X86计算机实模式下VxWorks系统映像与关键的应用程序模块一次性直接加载,并利用VxWorks的链接器、加载器以及符号表,将应用程序的非紧急模块使用的操作系统功能和应用程序的相应模块于系统启动后进行动态加载,具体操作步骤是:(3)生成非紧急任务目标模块建立downloadable kernel Module Project工程,选择已定制的BSP,将应用程序的非紧急任务模块放入工程中,编译后生成目标文件,将此目标文件放入外部存储器中,等待系统的动态加载;(4)主系统映像的制作1)定制系统及启动顺序优化在Workbench中建立VxWorks Image Project工程,选择已定制的BSP,同时将应用程序的紧急任务模块加入到工程中和VxWorks系统映像一起编译,裁减掉不需要的组件,根据需要修改VxWorks各组件的启动次序,通过修改工程中的usrAppInit.c文件来实现将紧急任务用不着的各种初始化操作一律放在紧急任务之后启动;2)添加动态加载支持组件将VxWorks系统符号表编译到VxWorks系统映像中和VxWorks系统映像一起加载,在工程中添加built-in symbol table及initialize systemsymbol table组件,VxWorks系统映像中会含有#include INCLUDE_SYM_TBL实现符号表的初始化:hashLibInit();symLibInit();为实现动态加载,在工程中添加Loader components组件,此时VxWorks系统映像中会含有#include INCLUDE_LOADER实现VxWorks系统模块管理功能的初始化:moduleLibInit();cplusDemanglerInit();为保证紧急任务的启动速度,所添加的动态加载支持组件应放在紧急任务启动之后,在usrAppInit.c中实现;3)动态加载及程序的运行使用loadModule()加载具体的应用程序,最后使用symFindByName()在VxWorks系统符号表中查找出加载应用的函数入口并执行,实现动态加载的程序段主要语句有:fd=open(″/ata0a/test.out″,0_RDONLY,0);hModule=loadModule(fd,LOAD_ALL_SYMBOLS));symFindByName(sysSymTbl,″test″,(char**)&taskEntry,&Type);taskSpawn(″test″,100,0,30000,taskEntry,0,0,0,0,0,0,0,0,0,0);4)生成主系统映像编译生成VxWorks_rom.bin格式映像,便为要加载的全功能VxWorks系统映像,此映像的大小不能超过实际目标系统的允许值,然后将VxWorks_rom.bin映像作为bootrom.sys放入目标系统的启动盘或CF卡中,同时要保证映像在存储器中连续存放;(5)将启动盘放到目标系统,加电,系统启动运行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910029309.2/,转载请声明来源钻瓜专利网。
- 上一篇:壁挂式平板显示器支架
- 下一篇:简化拼音输入法