用于在操作系统初始化期间执行代码的系统技术方案

技术编号:2845373 阅读:181 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于满足苛刻的引导时间要求(诸如由车辆远程信息处理系统要求的时序要求)的系统。当前的计算机系统使用类似协处理器的昂贵硬件来服务具有低于将操作系统加载到存储器中的时间的时间要求的请求,诸如输入/输出请求。作为替代,在引导过程中,可在加载操作系统前先初始化迷你驱动程序,来服务这些请求。例如,迷你驱动程序可缓存到来的数据,并且/或者对到来的消息给予回复。在操作系统加载以后,可初始化第二设备驱动程序,并且可从迷你驱动程序转移到第二驱动程序。

【技术实现步骤摘要】

本专利技术主要涉及实时操作系统,更具体涉及需要在从系统引导开始的有限时间间隔内响应外部事件的实时操作系统。
技术介绍
随着系统变得更加复杂,用在嵌入式系统中的实时操作系统(RTOS)需要的引导时间也持续增加。例如,车辆,诸如汽车,卡车,耕作装备,采矿装备,高尔夫车,移动机器人以及诸如此类,可使用远程信息处理系统,诸如提供多种有用特征的GPS导航系统,无线通信,自动驾驶辅助系统以及诸如此类。这些远程信息处理系统可由能在系统上电后很短的时间段内传输消息的控制器区域网络(CAN)和面向媒体系统传输(MOST)总线驱动。远程信息处理系统通常需要能在很短的时间内接收,并可能响应这些消息。这些时序要求可能会小于RTOS完全引导并开始运行标准设备驱动程序所需要的时间。例如,CAN总线主设备能在系统上电后大约65ms发送“上电”消息给总线上的全部设备,且远程信息处理系统必须在100ms内响应这个消息。在该初始上电握手序列后,远程信息处理系统可能需要缓存(并且可能回复)CAN总线上以大约每10ms一条消息的速率接收的另外的消息。结合第一条CPU指令直到上电后10ms才可能被执行的事实,远程信息处理系统必须要能在大约55ms内响应这些消息。这些苛刻的引导时间要求使得RTOS不太可能在第一个“上电”CAN消息之前完全运行。这可能是因为引导过程(诸如将OS镜像拷贝到RAM中)的瓶颈。从上电复位(POR)到启动第一个用户应用程序的典型的OS引导时间可以数百毫秒来测量。为了满足这些时序要求,辅助的通信处理器已被用于补充RTOS的功能。例如,当传送CAN消息时,辅助处理器能接收这些消息并捕获任何需要的数据。随后一旦加载了OS,就可将这些任务传递给设备驱动程序。虽然已将这些辅助处理器加入到嵌入式系统中以满足时序要求,但它们会在价格敏感市场中显得昂贵。此外,万一出现需求,硬件解决方案的更改会很困难和昂贵。因此,需要有一种用于满足启动时序要求的低成本、易更改的解决方案,其在操作系统运行之前能够运行并提供有限的功能。
技术实现思路
本文描述了用于满足苛刻的引导时间要求(诸如车辆远程信息处理系统要求的那些时序要求)的健壮系统。当前的计算机系统使用类似协处理器的昂贵硬件来服务具有低于将操作系统加载到存储器中的时间的时间要求的请求,诸如输入/输出请求。作为替代,在引导过程中,可在加载操作系统前先初始化迷你驱动程序,来服务这些请求。例如,迷你驱动程序可缓存到来的数据,并且/或者回复到来的消息。在整个引导过程中可被调用的迷你驱动程序,可以多种方式触发,诸如通过轮询和中断。在操作系统加载以后,可初始化第二设备驱动程序,并且可将迷你驱动程序的功能转移给第二驱动程序。第二设备驱动程序可以是操作系统的内核模块利用已知的方法初始化的典型的驱动程序。对于本领域的专业技术人员,通过研究下面的附图和详细描述,本专利技术的其它系统、方法、特征和优点将是或将变得显而易见。希望所有这些附加的系统、方法、特征和优点都包括在本描述内,都在本专利技术的范围内,并且由下面所述的权利要求所保护。附图说明通过参照下面的附图和描述,可以更好地理解本专利技术。图中的部件并不必要依比例,而是将重点放在说明本专利技术的原理上。此外,在附图中,相似的附图标记在不同的视图中将始终表示相应的部件。图1示出了使用CAN总线主设备的系统的示例性的引导时序序列。图2示出了使用实时操作系统的示例性的装置。图3示出了在引导操作期间使用一个或多个设备迷你驱动程序的示例性的实时操作系统。图4示出了另一个在引导操作期间使用一个或多个设备迷你驱动程序的示例性的实时操作系统。图5示出了用于迷你驱动程序的示例性逻辑体系结构。图6示出了在引导过程的各阶段和迷你驱动程序之间可能存在的示例性关系。图7是流程图,示出了用于实现引导过程的初始程序加载阶段的示例性过程。图8是流程图,示出了用于实现使用迷你驱动程序的引导过程的初始程序加载阶段的示例性过程。图9是流程图,示出了用于实现引导过程的启动程序阶段的示例性的过程。图10是流程图,示出了系统从迷你驱动程序操作到功能完备的设备驱动程序的示例性的转移过程。具体实施例方式现在参考附图并先参考图1,其示出了使用CAN总线主设备的车辆系统的示例性引导时序图。如图所示,CPU可在系统上电110后大约10ms,执行它的第一条指令120。在大约55ms后,或者在系统上电110后65ms,CAN总线主设备可发送“上电”消息130给总线上的所有设备。总线上的任何设备,诸如远程信息处理系统,必须在100ms内对该消息做出响应140。在该初始上电握手序列后,另外的消息150a和150n可以每10ms一条消息的速率在CAN总线上广播。如上所述,这些苛刻的引导时间要求使得RTOS在第一条“上电”消息前完全运行变得有疑问,因为从上电复位(POR)到启动第一个用户应用程序的典型的OS引导时间160可以数百毫秒来测量。在图2中,示出了实现满足这些引导时间要求的示例性系统200。如图所示,该系统可包括用于执行存储在存储器210中的指令的中央处理单元(CPU)202,以及可生成和传输消息的外围设备240。存储器210可包括用于向各种应用程序提供对系统硬件的访问的操作系统212。在操作系统212中可包括提供基本服务的内核模块214,和描述系统的硬件资源的系统页216。操作系统212还可包括例外表218。除操作系统外,存储器210还可包括用于引导系统200的引导模块220。存储器还可包括用于在加载操作系统212之前服务请求的迷你驱动程序230。还可包括临时例外表232以允许迷你驱动程序的基于中断的触发,下面会更详细地讨论。图3示出了用于满足车辆远程信息处理系统中苛刻的引导时间要求的系统中的示例性RTOS引导过程时间线图300。一开始,RTOS可在上电310开始引导。在这点上,CPU被复位并且初始上电代码被执行。该代码可包括初始程序加载程序(IPL)310,其可位于系统复位向量312上,可使计算机能够启动操作系统,并可提供代码以和系统中的各种设备(诸如磁盘驱动器、键盘、监视器、打印机、通信端口和类似设备)通信。例如,复位向量312包括个人计算机上的基本输入输出系统(BIOS)。这些指令还可包括用于初始化引导加载程序的指令,例如启动程序320。一旦引导加载程序运行,它就可以执行各种引导相关的任务,诸如拷贝OS镜像,引导OS,和处理输入/输出(I/O)请求。初始上电代码还可包括用于初始化迷你驱动程序230的指令。迷你驱动程序230可提供典型设备驱动程序功能的任何一种和/或全部。如图所示,迷你驱动程序230提供初始化外围设备的函数,使之在整个引导过程300中可使用。一旦初始化,就可将迷你驱动程序230用于满足加在系统上的时序约束,例如,通过读并且在有必要的情况下回复在外围总线340上接收的消息342。当引导过程300完成时,系统从IPL 310转移到可负责另外的引导过程(诸如初始化硬件和建立系统页)的启动程序320,然后转移到初始化操作系统内核的内核初始化阶段350。在该过程中,迷你驱动程序230始终可按要求轮询332或者响应中断334。下面将更详细地描述轮询332和中断334。任选地,迷你驱动程序230可通过消息缓存336传送本文档来自技高网
...

【技术保护点】
一种用于满足计算机系统中的时序要求的方法,所述计算机系统包括操作系统、存储器和至少一个外围设备,所述方法包括:在加载所述操作系统之前加载用于所述至少一个外围设备的设备驱动程序。

【技术特征摘要】
US 2005-6-3 11/145,3731.一种用于满足计算机系统中的时序要求的方法,所述计算机系统包括操作系统、存储器和至少一个外围设备,所述方法包括在加载所述操作系统之前加载用于所述至少一个外围设备的设备驱动程序。2.如权利要求1所述的方法,还包括在加载所述操作系统之后加载用于所述至少一个外围设备的第二设备驱动程序。3.如权利要求2所述的方法,其特征在于所述设备驱动程序的加载包括初始化所述外围设备,和使用于所述至少一个外围设备的中断与所述设备驱动程序相关联。4.如权利要求2所述的方法,还包括将所述外围设备的控制从所述设备驱动程序转交给所述第二设备驱动程序。5.如权利要求4所述的方法,其特征在于所述设备驱动程序的加载包括初始化所述外围设备,和使用于所述至少一个外围设备的中断与所述设备驱动程序相关联。6.如权利要求5所述的方法,其特征在于所述将所述外围设备的控制转交给所述第二设备驱动程序包括将所述第二设备驱动程序附在所述中断上;禁用用于所述系统的中断;如果所述第二设备驱动程序附加成功,则重新启用用于所述系统的中断;和将数据从所述设备驱动程序转移到所述第二设备驱动程序。7.如权利要求6所述的方法,其特征在于所述将所述外围设备的控制转交给所述第二设备驱动程序还包括使所述被转移的数据与所述第二设备驱动程序获得的数据同步。8.如权利要求1所述的方法,其特征在于在将所述操作系统的镜像拷贝到存储器中之前加载所述设备驱动程序。9.一种计算机系统,包括能够执行指令的中央处理单元(CPU);存储器,其与所述CPU通信并能够存储用于由所述CPU执行的指令;操作系统,其被存储在所述存储器中并能够管理所述计算机系统的资源,所述操作系统包括内核模块;与所述CPU通信并能够产生输入/输出请求的至少一个外围设备;引导模块,其与所述CPU和所述存储器通信并能够加载存储器中的所述操作系统;和设备驱动程序,其被存储在所述存储器中并能够在所述引导模块将所述操作系统加载到所述存储器中之前服务所述产生的输入/输出请求。10.如权利要求9所述的计算机系统,其特征在于所述引导模块还能够在所述引导模块将...

【专利技术属性】
技术研发人员:P范德费恩S埃斯尔B斯特克B埃德蒙
申请(专利权)人:QNX软件操作系统德国有限公司
类型:发明
国别省市:DE[德国]

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

1