将虚拟化IO架构和汽车应用集成在ECU的方法及系统转让专利
申请号 : CN202011355790.7
文献号 : CN112486142B
文献日 : 2022-01-28
发明人 : 于跃
申请人 : 北京经纬恒润科技股份有限公司
摘要 :
权利要求 :
1.一种将虚拟化IO架构和汽车应用集成在电子控制单元ECU的方法,所述ECU包括:硬件架构和软件架构,其特征在于,
所述硬件架构包括:至少一个芯片系统,至少一个所述芯片系统中的每个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备;
所述软件架构包括:在至少一个具有所述多处理器核的所述芯片系统上运行的多核操作系统,所述多核操作系统为运行在每个所述处理器核上的非对称多处理形式的实时操作系统所构成的操作系统;
将具有所述多处理器核的所述芯片系统中的一个处理器核作为主核,所述主核以外的处理器核作为从核,在所述主核上安装虚拟化IO驱动软件,在所述主核和每个所述从核上都安装一个虚拟机监控器软件,在每个所述虚拟机监控器软件上安装至少一个汽车应用,每个所述汽车应用包括:至少一个操作系统实体,每个所述汽车应用由所述汽车应用所处的处理器核上的实时操作系统进行汽车应用内部各个任务的调度,每个所述汽车应用通过所述汽车应用所处的处理器核上的虚拟机监控器软件读写IO设备;
当安装在同一个芯片系统上的多个汽车应用同时请求写同一个IO设备,或,当安装在同一个电子控制单元的不同芯片系统上的多个汽车应用同时请求控制同一个执行器的过程,具体包括:获取存储请求事件的队列数据结构,记为第二队列数据结构;获取第三汽车应用发送的写IO设备的写请求,记为第二写请求;基于所述第二写请求,得到需要写入IO设备里的数据,记为第二写入数据;对所述第二写请求和所述第二队列数据结构进行处理,得到执行入队操作之后的队列数据,记为第二队列数据;获取第四汽车应用发送的写IO设备的写请求,记为第三写请求;基于所述第三写请求,得到需要写入IO设备里的数据,记为第三写入数据;对所述第三写请求和所述第二队列数据结构进行处理,得到执行入队操作之后的队列数据,记为第三队列数据;对所述第二队列数据和所述第三队列数据进行处理,得到各个队列成员对应的执行动作,记为第二执行动作;对所述第二写入数据、所述第三写入数据和各个队列成员对应的所述第二执行动作进行处理,实现对IO设备的写操作,并得到报警标志;对所述第二队列数据和所述第三队列数据执行出队操作,得到存储请求事件的所述第二队列数据结构。
2.根据权利要求1所述的方法,其特征在于,还包括:所述汽车应用写IO设备的过程,具体包括:
获取第一汽车应用发送的写IO设备的写请求,记为第一写请求,以及获取存储请求事件的队列数据结构,记为第一队列数据结构;
基于所述第一写请求和所述第一队列数据结构,得到需要写入IO设备里的数据,记为第一写入数据,以及执行入队操作之后的队列数据,记为第一队列数据;
基于所述第一队列数据得到各个队列成员对应的执行动作,记为第一执行动作;
基于所述第一写入数据以及各个队列成员对应的所述第一执行动作,对IO设备执行写操作。
3.根据权利要求2所述的方法,其特征在于,还包括:对执行入队操作之后的队列数据执行出队操作,得到存储请求事件的所述第一队列数据结构。
4.根据权利要求1所述的方法,其特征在于,还包括:所述汽车应用读IO设备的过程,具体包括:
获取第二汽车应用发送的读IO设备的读请求;
基于所述读请求,得到需要读取的IO设备;
基于所述需要读取的IO设备,确定所述需要读取的IO设备的目标数据;
对所述目标数据进行处理,得到所述汽车应用读到的数据,实现对IO设备的读操作。
5.一种将虚拟化IO架构和汽车应用集成在电子控制单元ECU的系统,所述ECU包括:硬件架构和软件架构,其特征在于,
所述硬件架构包括:至少一个芯片系统,至少一个所述芯片系统中的每个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备;
所述软件架构包括:在至少一个具有所述多处理器核的所述芯片系统上运行的多核操作系统,所述多核操作系统为运行在每个所述处理器核上的非对称多处理形式的实时操作系统所构成的操作系统;
将具有所述多处理器核的所述芯片系统中的一个处理器核作为主核,所述主核以外的处理器核作为从核,在所述主核上安装虚拟化IO驱动软件,在所述主核和每个所述从核上都安装一个虚拟机监控器软件,在每个所述虚拟机监控器软件上安装至少一个汽车应用,每个所述汽车应用包括:至少一个操作系统实体,每个所述汽车应用由所述汽车应用所处的处理器核上的实时操作系统进行汽车应用内部各个任务的调度,每个所述汽车应用通过所述汽车应用所处的处理器核上的虚拟机监控器软件读写IO设备;
多应用执行单元,用于执行当安装在同一个芯片系统上的多个汽车应用同时请求写同一个IO设备,或,当安装在同一个电子控制单元的不同芯片系统上的多个汽车应用同时请求控制同一个执行器的过程;所述多应用执行单元具体包括:数据结构获取子单元,用于获取存储请求事件的队列数据结构,记为第二队列数据结构;第二写请求获取子单元,用于获取第三汽车应用发送的写IO设备的写请求,记为第二写请求;第一写入数据获取子单元,用于基于所述第二写请求,得到需要写入IO设备里的数据,记为第二写入数据;第二数据处理子单元,用于对所述第二写请求和所述第二队列数据结构进行处理,得到执行入队操作之后的队列数据,记为第二队列数据;第三写请求获取子单元,用于获取第四汽车应用发送的写IO设备的写请求,记为第三写请求;第二写入数据获取子单元,用于基于所述第三写请求,得到需要写入IO设备里的数据,记为第三写入数据;第三数据处理子单元,用于对所述第三写请求和所述第二队列数据结构进行处理,得到执行入队操作之后的队列数据,记为第三队列数据;第四数据处理子单元,用于对所述第二队列数据和所述第三队列数据进行处理,得到各个队列成员对应的执行动作,记为第二执行动作;第二写操作执行子单元,用于对所述第二写入数据、所述第三写入数据和各个队列成员对应的所述第二执行动作进行处理,实现对IO设备的写操作,并得到报警标志;第二出队操作执行子单元,用于对所述第二队列数据和所述第三队列数据执行出队操作,得到存储请求事件的所述第二队列数据结构。
6.根据权利要求5所述的系统,其特征在于,还包括:写单元,用于执行所述汽车应用写IO设备的过程;
所述写单元具体包括:
第一写请求获取子单元,用于获取第一汽车应用发送的写IO设备的写请求,记为第一写请求,以及获取存储请求事件的队列数据结构,记为第一队列数据结构;
写入数据确定子单元,用于基于所述第一写请求和所述第一队列数据结构,得到需要写入IO设备里的数据,记为第一写入数据,以及执行入队操作之后的队列数据,记为第一队列数据;
执行动作确定子单元,用于基于所述第一队列数据得到各个队列成员对应的执行动作,记为第一执行动作;
第一写操作执行子单元,用于基于所述第一写入数据以及各个队列成员对应的所述第一执行动作,对IO设备执行写操作。
7.根据权利要求6所述的系统,其特征在于,所述写单元还包括:第一出队操作执行子单元,用于对执行入队操作之后的队列数据执行出队操作,得到存储请求事件的所述第一队列数据结构。
8.根据权利要求5所述的系统,其特征在于,还包括:读单元,用于执行所述汽车应用读IO设备的过程;
所述读单元具体包括:
读请求获取子单元,用于获取第二汽车应用发送的读IO设备的读请求;
IO设备确定子单元,用于基于所述读请求,得到需要读取的IO设备;
读取数据确定子单元,用于基于所述需要读取的IO设备,确定所述需要读取的IO设备的目标数据;
第一数据处理子单元,用于对所述目标数据进行处理,得到所述汽车应用读到的数据,实现对IO设备的读操作。
说明书 :
将虚拟化IO架构和汽车应用集成在ECU的方法及系统
技术领域
背景技术
驶汽车的正常行驶,汽车嵌入式系统的软件架构需要满足这些新的要求,需要支持新应用
的集成,用于集成的软件方法应该保证处理器各个核的协同工作、保证传感器和执行器的
实时控制、保证各个汽车应用可以共享传感器执行器以及其它IO设备。
在涉及实时性要求很高的传感器、执行器控制的电子控制单元(例如底盘域的转向、制动等
电子控制单元)上,通常使用经典AUTOSAR架构和AUTOSAR/OSEK操作系统,传感器、执行器和
其它IO设备由基础软件(BSW)进行抽象和控制。
电子电气架构提出的新的要求。
发明内容
在电子控制单元上的各个汽车应用能够共享电子控制单元上的传感器、执行器和其它IO设
备。
操作系统所构成的操作系统;
核上都安装一个虚拟机监控器软件,在每个所述虚拟机监控器软件上安装至少一个汽车应
用,每个所述汽车应用包括:至少一个操作系统实体,每个所述汽车应用由所述汽车应用所
处的处理器核上的实时操作系统进行汽车应用内部各个任务的调度,每个所述汽车应用通
过所述汽车应用所处的处理器核上的虚拟机监控器软件读写IO设备。
制同一个执行器的过程,具体包括:
操作系统所构成的操作系统;
核上都安装一个虚拟机监控器软件,在每个所述虚拟机监控器软件上安装至少一个汽车应
用,每个所述汽车应用包括:至少一个操作系统实体,每个所述汽车应用由所述汽车应用所
处的处理器核上的实时操作系统进行汽车应用内部各个任务的调度,每个所述汽车应用通
过所述汽车应用所处的处理器核上的虚拟机监控器软件读写IO设备。
一队列数据;
多个汽车应用同时请求控制同一个执行器的过程;
一个芯片系统中的每个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的
IO设备,软件架构包括:在至少一个具有多处理器核的芯片系统上运行的多核操作系统,该
多核操作系统为运行在每个处理器核上的非对称多处理形式的实时操作系统所构成的操
作系统,在该软件架构中的至少一个具有多处理器核的芯片系统上实施如下方法:将具有
多处理器核的芯片系统中的一个处理器核作为主核,该芯片系统中的其他的处理器核作为
从核,在主核上安装虚拟化IO驱动软件,在主核和每个从核上都安装一个虚拟机监控器软
件,在每个虚拟机监控器软件上安装至少一个汽车应用,每个汽车应用由其所处的处理器
核上的实时操作系统进行汽车应用内部各个任务的调度,并通过虚拟机监控器软件读写IO
设备。本发明由虚拟化IO驱动软件和虚拟机监控器软件实现将虚拟化IO架构和汽车应用集
成在ECU上,运行环境由ECU中的硬件架构和实时操作系统提供,并且可以被对称地部署在
硬件架构的各个具有多处理器核的芯片系统上,因此,本发明能够保证多个汽车应用和基
础软件在电子控制单元上集成的可靠性和实时性,使得安装在电子控制单元上的各个汽车
应用能够共享电子控制单元上的传感器、执行器和其它IO设备。
附图说明
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
公开的附图获得其他的附图。
个执行器时的方法流程图;
具体实施方式
个核的协同工作,保证传感器和执行器的实时控制,保证各个汽车应用可以共享传感器、执
行器以及其它IO设备。现有的技术方案主要包括如下三类:
传感器和执行器的交互,因此当只有一个应用可以和IO设备进行交互时,底盘域电子控制
单元的实用性降低。
用需要访问一个已经分配给原有应用的IO设备,或者例如需要调整一个IO设备的分配,而
这两种场景在SOA经常出现,因此第二类方案没有实现各个应用设计之间的解耦。
和特定硬件实现的中间层软件,使得Linux上的各个应用能够共享该硬件的IO设备和DSP
(Digital Signal Process,数字信号处理)、硬件加速器等功能。第三类方案在对时延有较
高要求的传感器滤波、执行器控制,尤其是以电机为执行器的位置闭环控制、速度闭环控
制、电流闭环控制的实时性上性能不足甚至不能满足技术要求,例如汽车底盘域的电子控
制单元需要使用硬实时性操作系统(AUTOSAR/OSEK或其他RTOS(实时操作系统),不能直接
使用Linux的虚拟化方法)。
能支持“各个应用设计之间的解耦”(第二类方案的缺陷),又能满足“实时性控制”(第三类
方案的缺陷)的要求。
两大类,A类可称为计算层电子控制单元(如图1中示出的ECU‑A0~A1),主要负责驾驶算法
的决策、云端通讯、图像处理等,B类可称为IO层电子控制单元(如图1中示出的ECU‑B0~
B5),主要负责传感器、执行器的控制,如前所述,这两类电子控制单元对软件的需求不同,
因此有不同的适用的软件架构,目前已有的虚拟化技术方案的应用场景是A类电子控制单
元,本发明的应用场景是B类电子控制单元,其中,A类电子控制单元和B类电子控制单元通
过CAN(Controller Area Network,控制器局域网络)总线或实时以太网连接。
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
每个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备,软件架构
包括:在至少一个具有多处理器核的芯片系统上运行的多核操作系统,该多核操作系统为
运行在每个处理器核上的非对称多处理形式的实时操作系统所构成的操作系统,在该软件
架构中的至少一个具有多处理器核的芯片系统上实施如下方法:将具有多处理器核的芯片
系统中的一个处理器核作为主核,该芯片系统中的其他的处理器核作为从核,在主核上安
装虚拟化IO驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件,在每个虚拟机
监控器软件上安装至少一个汽车应用,每个汽车应用由其所处的处理器核上的实时操作系
统进行汽车应用内部各个任务的调度,并通过虚拟机监控器软件读写IO设备。本发明由虚
拟化IO驱动软件和虚拟机监控器实现将虚拟化IO架构和汽车应用集成在ECU上,运行环境
由ECU中的硬件架构和实时操作系统提供,并且可以被对称地部署在硬件架构的各个具有
多处理器核的芯片系统上,因此,本发明能够保证多个汽车应用和基础软件在电子控制单
元上集成的可靠性和实时性,使得安装在电子控制单元上的各个汽车应用能够共享电子控
制单元上的传感器、执行器和其它IO设备。
接口的IO(Input/Output,输入输出)设备。
(Single Edge Nibble Transmission)接口、PSI5(Peripheral Subsystem Interface,外
设传感器接口)或者其他形式的IO设备。
矩。
Core2,以及1个PWM输出设备PWM0和1个ADC采样输入设备ADC0。SOC1包括2个处理器核,分别
为:Core3和Core4,以及1个PWM输出设备PWM1。
multiprocessing,AMP)的实时操作系统所构成的操作系统,将每个具有多处理器核的芯片
系统中的一个处理器核作为主核,主核以外的处理器核作为从核,在主核上安装虚拟化IO
驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件(Virtual Machine
Monitor,VMM),在每个虚拟机监控器软件上安装至少一个汽车应用(OsApplicaiton),每个
汽车应用包括:至少一个操作系统实体(OsObject),每个汽车应用由该汽车应用所处的处
理器核上的实时操作系统进行汽车应用内部各个任务的调度,每个汽车应用通过该汽车应
用所处的处理器核上的虚拟机监控器软件读写IO设备。
以外,常见的多核操作系统处理模式还有对称多处理(SMP)、混合多处理(BMP)等。
VmDriver0,Core0上安装1个虚拟机监控器软件VMM0,Core1上安装1个虚拟机监控器软件
VMM1,Core2上安装1个虚拟机监控器软件VMM2。在每个虚拟机监控器软件上安装了1个、2个
或者多个汽车应用(OsApplication)。在本实施例中,VMM0上安装了2个汽车应用APP0和
APP1,VMM1上安装了2个汽车应用APP2和APP3,VMM2上安装了2个汽车应用APP4和APP5,每个
汽车应用包括1个、2个或者多个操作系统任务,还可以包括操作系统资源、事件等其它操作
系统实体(OsObject)。APP0~APP5由OS0~OS2调度,APP0和APP1可以通过VMM0读设备ADC0、
写设备PWM0,APP2和APP3可以通过VMM1读设备ADC0、写设备PWM0,APP4和APP5可以通过VMM2
读设备ADC0、写设备PWM0。
VMM3,Core4上安装1个虚拟机监控器软件VMM4。在每个虚拟机监控器软件上安装了1个、2个
或者多个汽车应用。在本实施例中,VMM3上安装了1个汽车应用APP6,VMM4上安装了2个汽车
应用APP7和APP8,每个汽车应用包括1个、2个或者多个操作系统任务,还可以包括操作系统
资源、事件等其它操作系统实体。APP6~APP8由OS3和OS4调度,APP6可以通过VMM3写设备
PWM1,APP7和APP8可以通过VMM4写设备PWM1。
个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备,软件架构包
括:在至少一个具有多处理器核的芯片系统上运行的多核操作系统,该多核操作系统为运
行在每个处理器核上的非对称多处理形式的实时操作系统所构成的操作系统,在该软件架
构中的至少一个具有多处理器核的芯片系统上实施如下方法:将具有多处理器核的芯片系
统中的一个处理器核作为主核,该芯片系统中的其他的处理器核作为从核,在主核上安装
虚拟化IO驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件,在每个虚拟机监
控器软件上安装至少一个汽车应用,每个汽车应用由其所处的处理器核上的实时操作系统
进行汽车应用内部各个任务的调度,并通过虚拟机监控器软件读写IO设备。本发明由虚拟
化IO驱动软件和虚拟机监控器实现将虚拟化IO架构和汽车应用集成在ECU上,运行环境由
ECU中的硬件架构和实时操作系统提供,并且可以被对称地部署在硬件架构的各个具有多
处理器核的芯片系统上,因此,本发明能够保证多个汽车应用和基础软件在电子控制单元
上集成的可靠性和实时性,使得安装在电子控制单元上的各个汽车应用能够共享电子控制
单元上的传感器、执行器和其它IO设备。
用),在Core1上进行上下文切换(upper‑lower context switching),具体为:操作系统的
核心,即内核,在CPU(Central Processing Unit,中央处理器)上对进程或者线程进行切
换,上下文切换过程中的信息被保存在进程控制块中。然后VMM1执行两个操作:一是将APP2
需要写的占空比存储在输出缓冲区B1里;二是进行一次“入队”操作,将OUT to IO device
的ID存储在1个队列Q1里,其中,SOC上包含的IO设备及对应ID来自于电子控制单元硬件架
构,可以向各个APP开发者公开,缓冲区B1和队列Q1位于VmDriver0和VMM1的共享RAM里,对
二者的读写操作可以使用原子操作或者自旋锁等方式,以保证读写前后数据一致性。
用程序,需要切换到特权模式才能访问内核资源或执行内核提供给用户的接口程序。具体
地,不同操作系统可能将特权模式和用户模式更详细地分为1级、2级甚至多级。
VmDriver0周期性(例如100us)地轮询队列Q1和Q2(对应于Core2)中是否有成员。在本实施
范例中,Q1队列不为空,VmDriver0从队列中获取成员的ID,从缓冲区B1获取PWM0占空比,
ALI1动作列表里与PWM0的ID对应的执行动作是写PWM0的占空比,然后VmDriver0进行一次
Q1的“出队”操作,将本次APP2写PWM0的请求清除出队列。如果Q2队列不为空,VmDriver0也
会执行类似的操作,在本实施范例中,Q2队列为空,VmDriver0结束本次轮询。
(Random Access Memory,随机存取存储器)里,对B1的读写操作可以使用原子操作或者自
旋锁等方式来保证数据一致性。
APP2。
的数据并没有被VmDriver0更新。VMM可以给APP提供Group IN to IO device的接口,使得
可以在一次上下文切换中完成多个IO设备的读操作。
发生总线故障。
的多个汽车应用同时请求控制同一个执行器时的方法流程图,该方法包括:
是并行执行的。
与VmDriver0的共享RAM里。
“入队”操作,将OUT to IO device的ID存储在队列Q1里,缓冲区B1和队列Q1位于共享RAM
里,对二者的读写操作可以使用原子操作或者自旋锁等方式,以保证数据一致性。
里;二是进行一次“入队”操作,将OUT to IO device的ID存储在队列Q2里,缓冲区B2和队列
Q2位于共享RAM里,对二者的读写操作可以使用原子操作或者自旋锁等方式,以保证数据一
致性。
地轮询队列Q1和Q2中是否有成员。如果Q1队列不为空,VmDriver0从队列中获取成员的ID,
从缓冲区B1获取PWM0占空比,ALI1动作列表里与PWM0的ID对应的执行动作是写PWM0的占空
比,然后VmDriver0进行一次Q1的“出队”操作,将本次APP2写PWM0的请求清除出队列。如果
Q2队列不为空,VmDriver0从队列中获取成员的ID,从缓冲区B2获取PWM0占空比,ALI2动作
列表里与PWM0的ID对应的执行动作是写PWM0的占空比,然后VmDriver0进行一次Q2的“出
队”操作,将本次APP4写PWM0的请求清除出队列。
进行报警,各个APP可以选择屏蔽这个报警或者执行各自的报警处理,这取决于APP的设计。
VmDriver0和VmDriver1可以报警给汽车应用,并且SOC上不发生总线故障,SOC外部的总线
需要由电子控制单元通过对报警信息的处理来保证、或者由电机驱动电路的硬件安全机制
来保证、或者由二者协同保证。
上的写操作;额外地,VmDriver0或者VmDriver1可以在1个或者连续多个轮询周期结束时,
检测是否有其它SOC的VmDriver对同一个设备进行了写操作,如果在这短时间内,有2个或
者2个以上的VmDriver对同一个设备进行了写操作,则VmDriver可以产生一个软件中断对
相应Core上的汽车软件进行报警。
个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备,软件架构包
括:在至少一个具有多处理器核的芯片系统上运行的多核操作系统,该多核操作系统为运
行在每个处理器核上的非对称多处理形式的实时操作系统所构成的操作系统,在该软件架
构中的至少一个具有多处理器核的芯片系统上实施如下方法:将具有多处理器核的芯片系
统中的一个处理器核作为主核,该芯片系统中的其他的处理器核作为从核,在主核上安装
虚拟化IO驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件,在每个虚拟机监
控器软件上安装至少一个汽车应用,每个汽车应用由其所处的处理器核上的实时操作系统
进行汽车应用内部各个任务的调度,并通过虚拟机监控器软件读写IO设备。本发明由虚拟
化IO驱动软件和虚拟机监控器实现将虚拟化IO架构和汽车应用集成在ECU上,运行环境由
ECU中的硬件架构和实时操作系统提供,并且可以被对称地部署在硬件架构的各个具有多
处理器核的芯片系统上,因此,本发明能够保证多个汽车应用和基础软件在电子控制单元
上集成的可靠性和实时性,使得安装在电子控制单元上的各个汽车应用能够共享电子控制
单元上的传感器、执行器和其它IO设备。
接口的IO(Input/Output,输入输出)设备。
multiprocessing,AMP)的实时操作系统所构成的操作系统,将每个具有多处理器核的芯片
系统中的一个处理器核作为主核,主核以外的处理器核作为从核,在主核上安装虚拟化IO
驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件(Virtual Machine
Monitor,VMM),在每个虚拟机监控器软件上安装至少一个汽车应用(OsApplicaiton),每个
汽车应用包括:至少一个操作系统实体(OsObject),每个汽车应用由该汽车应用所处的处
理器核上的实时操作系统进行汽车应用内部各个任务的调度,每个汽车应用通过该汽车应
用所处的处理器核上的虚拟机监控器软件读写IO设备。
个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备,软件架构包
括:在至少一个具有多处理器核的芯片系统上运行的多核操作系统,该多核操作系统为运
行在每个处理器核上的非对称多处理形式的实时操作系统所构成的操作系统,在该软件架
构中的至少一个具有多处理器核的芯片系统上实施如下方法:将具有多处理器核的芯片系
统中的一个处理器核作为主核,该芯片系统中的其他的处理器核作为从核,在主核上安装
虚拟化IO驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件,在每个虚拟机监
控器软件上安装至少一个汽车应用,每个汽车应用由其所处的处理器核上的实时操作系统
进行汽车应用内部各个任务的调度,并通过虚拟机监控器软件读写IO设备。本发明由虚拟
化IO驱动软件和虚拟机监控器实现将虚拟化IO架构和汽车应用集成在ECU上,运行环境由
ECU中的硬件架构和实时操作系统提供,并且可以被对称地部署在硬件架构的各个具有多
处理器核的芯片系统上,因此,本发明能够保证多个汽车应用和基础软件在电子控制单元
上集成的可靠性和实时性,使得安装在电子控制单元上的各个汽车应用能够共享电子控制
单元上的传感器、执行器和其它IO设备。
数据;
安装在同一个电子控制单元的不同芯片系统上的多个汽车应用同时请求控制同一个执行
器的过程。
个芯片系统包括:多处理器核以及用于与传感器或执行器进行接口的IO设备,软件架构包
括:在至少一个具有多处理器核的芯片系统上运行的多核操作系统,该多核操作系统为运
行在每个处理器核上的非对称多处理形式的实时操作系统所构成的操作系统,在该软件架
构中的至少一个具有多处理器核的芯片系统上实施如下方法:将具有多处理器核的芯片系
统中的一个处理器核作为主核,该芯片系统中的其他的处理器核作为从核,在主核上安装
虚拟化IO驱动软件,在主核和每个从核上都安装一个虚拟机监控器软件,在每个虚拟机监
控器软件上安装至少一个汽车应用,每个汽车应用由其所处的处理器核上的实时操作系统
进行汽车应用内部各个任务的调度,并通过虚拟机监控器软件读写IO设备。本发明由虚拟
化IO驱动软件和虚拟机监控器实现将虚拟化IO架构和汽车应用集成在ECU上,运行环境由
ECU中的硬件架构和实时操作系统提供,并且可以被对称地部署在硬件架构的各个具有多
处理器核的芯片系统上,因此,本发明能够保证多个汽车应用和基础软件在电子控制单元
上集成的可靠性和实时性,使得安装在电子控制单元上的各个汽车应用能够共享电子控制
单元上的传感器、执行器和其它IO设备。
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。