掌桥专利:专业的专利平台
掌桥专利
首页

车辆中跨操作系统移植CPU方法、装置及电子设备

文献发布时间:2024-04-18 19:59:31


车辆中跨操作系统移植CPU方法、装置及电子设备

技术领域

本公开涉及车辆领域,尤其涉及一种车辆中跨操作系统移植CPU方法、装置及电子设备。

背景技术

在采用CP AUTOSAR(Classic Platform Automotive Open SystemArchitecture,经典平台汽车开放系统架构)的车辆中,通常该车辆中包括集成安全关键控制应用的刹车控制系统和诊断系统等AUTOSAR OS(Automotive Open SystemArchitecture Operating System,汽车开放系统架构下的操作系统),而AUTOSAR OS为基于OSEK(Open Systems and the Corresponding Interfaces for AutomotiveElectronics,汽车电子类开放系统和对应接口标准)的实时操作系统,该车辆通常还包括实现信息娱乐、远程信息处理以及互联网连接应用程序的Android OS(Android OperatingSystem,安卓操作系统)、Linux OS(Linux Operating System,林纳克斯操作系统)以及Windows OS(Windows Operating System,视窗操作系统)等。车辆中的操作系统通常对应了该车辆硬件平台中的至少一个CPU(Central Processing Unit,中央处理器),而上述操作系统想要使用自操作系统对应外的CPU的话,会涉及移植到自操作系统对应外的别的操作系统的CPU的问题。

在车辆中将操作系统移植到同一车辆中其他操作系统的CPU上,现有的做法通常为:更改待移植操作系统的内核层代码以直接调用其他操作系统所对应的CPU。然而,由于车辆中包含的操作系统较多且一个操作系统移植到该操作系统不对应的CPU上时,需要上述操作系统的源码和上述CPU对应的编译器,每次移植需要开发者在更改代码时要考虑移植到的CPU对应的CPU架构、对应的指令集、该CPU原本对应的其他操作系统调用该CPU的方式,导致实现移植易受开发者水平的制约,造成无法自动并定制实现车辆中的操作系统移植到该车辆中其他操作系统对应的CPU上的问题。

发明内容

本公开提供一种车辆中跨操作系统移植CPU方法、装置及电子设备,以至少解决相关技术中由于车辆中包含的操作系统较多,每次移植操作系统以更改代码时需要开发者考虑移植到的CPU对应的CPU架构、对应的指令集、该CPU在原本对应的操作系统调用该CPU的方式,导致实现移植操作系统易受开发者水平的制约,造成无法自动并定制实现车辆中某一操作系统移植到该车辆中的其他操作系统所对应的CPU上的技术问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种车辆中跨操作系统移植CPU方法,包括:

获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息;

基于移植参数信息,在车俩中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式;多个移植实现方式为车辆中所有第一操作系统移植到所有第一操作系统分别对应的各第二操作系统中的CPU的实现方式;车辆中的第一操作系统为车辆中所有的操作系统中的某一操作系统,第一操作系统对应的各第二操作系统为车辆中第一操作系统以外的各个操作系统;

基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上;目标移植实现方式为更改目标第一操作系统内核层的代码,以调用目标第二操作系统中内核层的至少一个多级接口,使目标第一操作系统通过调用目标第二操作系统中内核层的至少一个多级接口,以使目标第一操作系统移植到目标CPU上。

根据本公开实施例的第二方面,提供一种车辆中跨操作系统移植CPU装置,包括:

第一获取模块,用于获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息;

第二获取模块,用于基于移植参数信息,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式;多个移植实现方式为车辆中所有第一操作系统移植到所有第一操作系统分别对应的各第二操作系统中的CPU的实现方式;车辆中的第一操作系统为车辆中所有的操作系统中的某一操作系统,第一操作系统对应的各第二操作系统为车辆中第一操作系统以外的各个操作系统;

移植模块,用于基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上;目标移植实现方式为更改目标第一操作系统内核层的代码,以调用目标第二操作系统中内核层的至少一个多级接口,使目标第一操作系统通过调用目标第二操作系统中内核层的至少一个多级接口,以使目标第一操作系统移植到目标CPU上。

根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一项所述的方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第一方面中任一所述的方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

通过获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息,并基于移植参数信息在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式,以根据目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上。这样达到了自动和定制化对车辆上的操作系统做移植的目的,以此解决现有技术中由于车辆中包含的操作系统较多,每次移植操作系统以更改代码时需要开发者考虑移植到的CPU对应的CPU架构、对应的指令集、该CPU在原本对应的操作系统调用该CPU的方式,导致实现移植操作系统易受开发者水平的制约,造成无法自动并定制实现车辆中某一操作系统移植到该车辆中的其他操作系统所对应的CPU上的技术问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种应用环境的示意图;

图2是根据一示例性实施例示出的一种车辆中跨操作系统移植CPU方法的流程图;

图3是根据一示例性实施例示出的一种车辆中跨操作系统移植CPU的装置框图;

图4是根据一示例性实施例示出的一种用于车辆中跨操作系统移植CPU的电子设备的框图一;

图5是根据一示例性实施例示出的一种用于车辆中跨操作系统移植CPU的电子设备的框图二。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,如图1所示,该应用环境可以包括服务器01和终端02。

在一个可选的实施例中,服务器01可以用于车辆中跨操作系统移植CPU方法。具体的,服务器01可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

在一个可选的实施例中,终端02可以用于车辆中跨操作系统移植CPU方法。具体的,终端02可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。

此外,需要说明的是,图1所示的仅仅是本公开提供的车辆中跨操作系统移植CPU方法的一种应用环境。

本说明书实施例中,上述服务器01以及终端02可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

需要说明的是,以下图中示出的是一种可能的步骤顺序,实际上并不限定必须严格按照此顺序。有些步骤可以在互不依赖的情况下并行执行。

图2是根据一示例性实施例示出的一种车辆中跨操作系统移植CPU方法的流程图,应用于车辆,如图2所示,该方法可以包括以下步骤S101至步骤S105。

步骤S201,获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息。

本说明书实施例中,目标第一操作系统的相关信息可以为目标第一操作系统的名称,目标第二操作系统的相关信息可以为,目标第二操作系统的名称。目标第一操作系统为待移植的操作系统,用于移植到目标第二操作系统对应的CPU上。

步骤S203,基于移植参数信息,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式;多个移植实现方式为车辆中所有第一操作系统移植到所有第一操作系统分别对应的各第二操作系统中的CPU的实现方式;车辆中的第一操作系统为车辆中所有的操作系统中的某一操作系统,第一操作系统对应的各第二操作系统为车辆中第一操作系统以外的各个操作系统。

本说明书实施例中,预先配置的多个移植实现方式可以通过服务器01或终端02在车辆中预先配置。

例如,车辆中涉及到6个操作系统,这6个中的每个操作系统为第一操作系统时,都对应了另外5个第二操作系统,相应地,可以预先配置6*5=30个移植实现方式。通过上述服务器01或终端02在车辆中预先配置这30中移植实现方式。

预先配置的多个移植实现方式中的每个移植实现方式都可以为更改第一操作系统中内核层的代码,以调用该第一操作系统所对应的第二操作系统中内核层的至少一个多级接口,使第一操作系统能够通过调用第二操作系统中内核层的至少一个多级接口,以使第一操作系统移植到第二操作系统所对应的CPU上。

多级接口可以为各第二操作系统内核层中原本就有的多层级调用接口。

例如,多级接口可以为各第二操作系统中的任务第一次调度,该任务第一次调度多级接口中可以顺序包括获取核动态信息子级接口、寻找最高优先级任务子级接口、保存下一个任务的上下文子级接口、调度执行最高优先级子级接口等。

例如,多接接口可以为各第二操作系统中的任务调度,该任务调度多级接口可以顺序包括保存任务上下文以及相关寄存器内容的子级接口、抢占任务入队子级接口、寻找最高优先级任务子级接口、保存任务上下文以及相关寄存器内容的子级接口等;该任务调度多级接口还可以包括获取任务信息子级接口、任务上下文初始化子级接口、寻找最高优先级任务子级接口、保存任务上下文以及相关寄存器内容的子级接口等。

例如,多级接口可以为中断进入/退出,该中断进入/退出多级接口可以顺序包括关中断子级接口、保存任务上下文以及相关寄存器内容的子级接口、获取当前正在执行的终端及中断配置信息的子级接口、更新中断状态信息并获取中断处理入口地址的子级接口、开中断子级接口、中断跳转处理子级接口、关中断子级接口、释放自旋锁和释放资源的子级接口、更新核状态信息的子级接口、比较下一个就绪任务的优先级是否大于当前运行任务并执行中断调度处理的子级接口、开中断子级接口等。

车辆中第一操作系统与对应的第二操作系统可以是同一种操作系统。

例如,车辆中包括Linux os1、Linux os2、Android os1、Android os2、Autosar os和Windows os这6个操作系统。当第一操作系统为Linux os1时,第一操作系统Linux os1所对应的多个第二操作系统有Linux os2、Android os1、Android os2、Autosar os和Windowsos。这样可以组成5个第一操作系统与第二操作系统的对应关系,分别为

步骤S205,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上;目标移植实现方式为更改目标第一操作系统内核层的代码,以调用目标第二操作系统中内核层的至少一个多级接口,使目标第一操作系统通过调用目标第二操作系统中内核层的至少一个多级接口,以使目标第一操作系统移植到目标CPU上。

例如,如上述例子,当目标第一操作系统是车辆中的Autosar os和目标第二操作系统是车辆中的Linux os1时,根据目标移植实现方式,更改Autosar os内核层的代码,以调用车辆中的Linux os1内核层的至少一个多级接口,使Autosar os通过调用Linux os1中内核层的至少一个多级接口,以使Autosar os移植到Linux os1对应的CPU上。

通过获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息,并基于移植参数信息在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式,以根据目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上。这样达到了自动和定制化对车辆上的操作系统做移植的目的,以此解决现有技术中由于车辆中包含的操作系统较多,每次移植操作系统以更改代码时需要开发者考虑移植到的CPU对应的CPU架构、对应的指令集、该CPU在原本对应的操作系统调用该CPU的方式,导致实现移植操作系统易受开发者水平的制约,造成无法自动并定制实现车辆中某一操作系统移植到该车辆中的其他操作系统所对应的CPU上的技术问题。

在一种可选地实施方式中,获取移植参数信息包括:接收移植请求,移植请求为服务器或终端发送来的;基于移植请求,获取移植请求中携带的移植参数信息。

本说明书实施例中,服务器可以为上述服务器01,终端可以为上述终端02。

例如,接收云服务器发送来的移植请求,并获取该移植请求中携带的移植参数信息。

在一种可选地实施方式中,目标第一操作系统的相关信息至少包括目标第一操作系统在车辆中的目标第一识别信息;目标第二操作系统的相关信息至少包括目标第二操作系统在车辆中的目标第二识别信息;

基于移植参数信息,在预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式包括:

基于移植参数信息,获取目标第一识别信息和目标第二识别信息;

基于目标第一识别信息和目标第二识别信息,在预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式。

本说明书实施例中,目标第一识别信息可以用于在车辆中标识目标第一操作系统,目标第二识别信息可以用于在车辆中标识目标第二操作系统。例如,目标第一识别信息可以为目标第一操作系统的名称、目标第一操作系统在车辆中的编码信息等,同理,目标第二识别信息可以为目标第二操作系统的名称、目标第二操作系统在车辆中的编码信息等,在此不对目标第一识别信息和目标第二识别信息的表达方式做限制。其中,目标第一操作系统在车辆中的编码信息和目标第二操作系统在车辆中的编码信息涉及的编码方式可以为人工设计或选取相应地算法进行设计,比如选取哈希算法等,在此不对编码方式做限制。

例如,如上述例子,车辆中的所有6个操作系统全部人工编码,Linux os1、Linuxos2、Android os1、Android os2、Autosar os和Windows os分别编码为01、02、03、04、05和06。相应地,移植参数信息中目标第一操作系统的相关信息为05,目标第二操作系统的相关信息为01。这样表示05代表的Autosar os为待移植的操作系统,用于移植到01代表的Linuxos1所对应的CPU上。

在一种可选地实施方式中,目标第一识别信息包括目标第一操作系统分别对应的目标第一操作系统名称和目标第一功能系统名称;目标第二识别信息包括目标第二操作系统分别对应的目标第二操作系统名称和目标第二功能系统名称;

基于移植参数信息,获取目标第一识别信息和目标第二识别信息包括:

基于移植参数信息,获取目标第一操作系统名称、目标第一功能系统名称、目标第二操作系统名称和目标第二功能系统名称;

基于目标第一识别信息和目标第二识别信息,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式包括:

基于目标第一操作系统名称、目标第一功能系统名称、目标第二操作系统名称和目标第二功能系统名称,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式。

本说明书实施例中,目标第一操作系统名称和目标第一功能系统名称可以用于在车辆中标识目标第一操作系统,同理,目标第二操作系统名称和目标第二功能系统名称可以用于在车辆中标识目标第二操作系统。这样用于表示目标第一功能系统名称对应的操作系统为待移植操作系统,其中,待移植操作系统的名称为目标第一操作系统名称;该待移植操作系统用于移植到目标第二功能系统对应的操作系统中的CPU上,其中,移植到的CPU所对应的操作系统的名称为目标第二操作系统名称。

从整车功能控制角度,可以将上述车辆划分为多个功能系统。

例如,车辆中的功能系统至少包括驾驶控制系统、仪表显示系统、信息娱乐系统、中控系统、智能座舱系统、导航系统、整车控制器系统、ADAS(Advanced DrivingAssistance System,高级驾驶辅助系统)、TBOX(TelematicsBOX,远程信息处理器)以及域控制器等。

车辆中的各操作系统通常对应了车辆中不同的功能系统。

例如,Autosar os通常对应了上述车辆中集成安全关键控制应用的刹车控制系统、诊断系统、中控系统、驾驶控制系统、整车控制器系统以及仪表显示系统等功能系统,在此不对Autosar os在上述车辆中可以对应的功能系统做限定。

例如,Linux os、Android os以及Windows os通常对应了上述车辆中的信息娱乐系统、远程信息处理系统、互联网连接应用程序系统、导航系统、智能座舱系统以及域控制器等功能系统,在此不对Linux os、Android os以及Windows os在上述车辆中可以对应的功能系统做限定。

例如,QNX通常对应了上述车辆中的整车控制器系统、仪表显示系统、ADAS(Advanced Driving Assistance System,高级驾驶辅助系统)以及域控制器等功能系统,在此不对QNX在上述车辆中可以对应的功能系统做限定。

例如,上述例子中,车辆中的6个操作系统Linux os1、Linux os2、Android os1、Android os2、Autosar os和Windows os在车辆中分别对应了信息娱乐系统、远程信息处理系统、互联网连接应用程序系统、导航系统、仪表显示系统和智能座舱系统。为了将车辆中信息娱乐系统所对应的操作系统Linux os1移植到仪表显示系统所对应的操作系统Autosar os中的CPU上,相对应地,移植参数信息中的目标第一操作系统的相关信息为Linux os1和信息娱乐系统,移植参数信息中的目标第二操作系统的相关信息为Autosaros和仪表显示系统。

在车辆中,非Autosar os通常对应着信息娱乐系统、导航系统、远程信息处理系统、智能座舱系统以及互联网连接应用程序系统等功能系统,这些功能系统通常不是影响该车辆驾驶的关键功能系统,因此这些功能系统在上述车辆中占用的硬件资源较少,导致没有较高的计算能力以达到较高标准的实时性要求。然而,Autosar os在上述车辆中通常对应着中控系统、仪表盘显示系统、刹车诊断系统、驾驶控制系统、整车控制器系统以及诊断系统等功能系统,这些功能系统通常是影响该车辆驾驶的关键功能系统,因此这些功能系统在上述车辆中占用的硬件资源较多,导致拥有较高的计算能力以达到较高标准的实时性要求。因此,通过在车辆中使用Autosar os所对应的CPU以实现该车辆中非Autosar os的操作系统中的任务,可以提高非Autosar os的操作系统中任务的执行速度,进而提升车辆中的乘坐人员在使用该车辆过程中的联网交互体验和娱乐体验等。

在一种可选地实施方式中,目标第一识别信息包括目标第一操作系统对应的目标第一功能系统名称;目标第二识别信息包括目标第二操作系统对应的目标第二功能系统名称;

基于移植参数信息,获取目标第一识别信息和目标第二识别信息包括:

基于移植参数信息,获取目标第一功能系统名称和目标第二功能系统名称;

基于目标第一识别信息和目标第二识别信息,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式包括:

基于目标第一功能系统名称和目标第二功能系统名称,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式。

例如,上述例子中,车辆中的6个操作系统Linux os1、Linux os2、Android os1、Android os2、Autosar os和Windows os在车辆中分别对应了信息娱乐系统、远程信息处理系统、互联网连接应用程序系统、导航系统、仪表显示系统和智能座舱系统。为了将车辆中信息娱乐系统所对应的操作系统Linux os1移植到仪表显示系统所对应的操作系统Autosar os中的CPU上,相对应地,移植参数信息中的目标第一操作系统的相关信息为信息娱乐系统,移植参数信息中的目标第二操作系统的相关信息为仪表显示系统。

在一种可选地实施方式中,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上之前还包括:

获取车辆的运行状态,运行状态包括车辆运行中和车辆闲置中;

在运行状态为车辆运行中的情况下,暂缓移植,生成暂缓移植信息并将暂缓移植信息发送至服务器或终端;

在运行状态为车辆闲置中的情况下,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上包括:

获取启动移植定时时间;

在启动移植定时时间到达的情况下,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的CPU上。

本说明书实施例中,暂缓移植信息为表示车辆正在运行中,要暂缓移植的信息。其中,暂缓移植信息的表示方式可以为文本形式、图像形式、语音形式或视频形式。

示例性地,在运行状态为车辆运行中的情况下,暂缓移植,并实时生成暂缓移植信息,生成暂缓移植信息后,实时将该暂缓移植信息向服务器或终端发送。其中,将暂缓移植信息发送给上述移植请求发出的服务器或终端。

定时时间可以为0,表示立即基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上。

示例性地,可以在运行状态为车辆闲置中的情况下,向服务器或终端发送请求获取移植定时时间的消息,并接收该服务器或终端反馈的消息以从中获取启动移植定时时间。其中,这里的服务器或终端可以与上述移植请求发出的服务器或终端不同,即发出移植请求的服务器或终端与设置启动移植定时时间的服务器或终端可以不同。

例如,由云服务器发出移植请求,在运行状态为车辆闲置的情况下,向车辆的乘客或使用者关联的服务器或终端发送请求获取启动移植定时时间的消息,并接收车辆的乘客或使用者关联的服务器或终端反馈的消息以从中获取启动移植定时时间。这样可以使车辆乘客或使用者及时了解车辆的移植时间信息,可以便利车辆的乘客或使用者更好地规划使用车辆出行的时间,以提高车辆的使用体验。

在一种可选地实施方式中,在定时时间到达的情况下,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的CPU上包括:

监测移植的完成状态,在移植的完成状态为未完成状态时,车辆中提示移植未完成的相关信息,并禁止车辆的油门启动。

示例性地,可以在车辆中未参与移植的操作系统所对应的功能系统中的显示屏幕中,以文本、图像、语音、视频等形式提示移植未完成的相关信息,在此不对移植未完成的相关信息的表示方式做限定。

在移植的完成状态为未完成状态时,禁止车辆的油门启动可以提高车辆的使用安全性。

在一种可选地实施方式中,方法还包括:

在预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式失败的情况下,向服务器或终端反馈移植参数信息有误;

请求所述服务器或终端在车辆中预先配置的多个移植实现方式中增加移植参数信息对应的移植实现方式。

示例性地,向服务器或终端反馈移植参数信息有误的方式可以为文本形式、图像形式、语音形式、视频形式等,在此不对向服务器或终端反馈移植参数信息有误的方式做限定。

例如,在上述例子中,预先配置的多个移植实现方式中若没有将Autosar os移植到Linux os1的移植方式,而移植参数信息中的目标第一操作系统的相关信息和目标第二操作系统的相关信息分别又为Autosar os和Linux os1。在获取不到该移植参数信息对应的目标移植实现方式的情况下,向上述移植请求发出的服务器或终端反馈移植参数信息有误,并请求上述移植请求发出的服务器或终端在车辆中预先配置的多个移植实现方式中,增加将车辆中的Autosar os移植到Linux os1所对应的CPU上的移植实现方式。

在一种可选地实施方式中,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上之后还包括:

监测目标第一操作系统在目标CPU上的运行状态,运行状态包括无法运行和可运行;

在运行状态为无法运行的情况下,向服务器或终端反馈移植失败信息,并陆续接收服务器或终端发来的至少一个移植配置指令,基于至少一个移植配置指令将目标第一操作系统移植到目标第二操作系统所对应的CPU上;

在运行状态为可运行的情况下,向服务器或终端反馈移植成功信息。

本说明书实施例中,至少一个移植配置指令为人工通过上述移植请求发出的服务器或终端向车辆陆续发送至少一个移植配置指令。这样可以在移植失败时,通过人工手动的方式将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上,以达到在车辆中跨操作系统移植健壮性的目的。

在一种可选地实施方式中,方法还包括:在运行状态为无法运行的情况下,控制车辆提示报警信息。

本说明书实施例中,报警信息可以为文本形式、图像形式、语音形式或视频形式等,在此不对报警信息的表示方式做限定。

示例性地,在运行状态为无法运行的情况下,控制车辆在不参与移植的操作系统所对应的功能系统中的至少一块显示屏幕和/或至少一个音频设备上提示报警信息。

例如,在上述例子中,将Linux os1移植到Android os1所对应的目标CPU上之后,监测Linux os1在Android os1所对应的CPU上的运行状态,在运行状态为无法运行的情况下,控制车辆在Linux os2、Android os2、Autosar os、Windows os所对应的远程信息处理系统、导航系统、仪表显示系统和智能座舱系统中的至少一块显示屏幕和/或至少一个音频设备上提示报警信息。

图3是根据一示例性实施例示出的一种车辆中跨操作系统移植CPU的装置框图,如图3所示,该车辆中跨操作系统移植CPU装置300包括:

第一获取模块301,用于获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息;

第二获取模块303,用于基于移植参数信息,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式;多个移植实现方式为车辆中所有第一操作系统移植到所有第一操作系统分别对应的各第二操作系统中的CPU的实现方式;车辆中的第一操作系统为车辆中所有的操作系统中的某一操作系统,第一操作系统对应的各第二操作系统为车辆中第一操作系统以外的各个操作系统;

移植模块305,用于基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上;目标移植实现方式为更改目标第一操作系统内核层的代码,以调用目标第二操作系统中内核层的至少一个多级接口,使目标第一操作系统通过调用目标第二操作系统中内核层的至少一个多级接口,以使目标第一操作系统移植到目标CPU上。

通过获取移植参数信息,移植参数信息至少包括目标第一操作系统的相关信息和目标第二操作系统的相关信息,并基于移植参数信息在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式,以根据目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上。这样达到了自动和定制化对车辆上的操作系统做移植的目的,以此解决现有技术中由于车辆中包含的操作系统较多,每次移植操作系统以更改代码时需要开发者考虑移植到的CPU对应的CPU架构、对应的指令集、该CPU在原本对应的操作系统调用该CPU的方式,导致实现移植操作系统易受开发者水平的制约,造成无法自动并定制实现车辆中某一操作系统移植到该车辆中的其他操作系统所对应的CPU上的技术问题。

车辆中跨操作系统移植CPU装置300还用于:接收移植请求,移植请求为服务器或终端发送来的;基于移植请求,获取移植请求中携带的移植参数信息。

第二获取模块303还用于:基于移植参数信息,获取目标第一识别信息和目标第二识别信息;基于目标第一识别信息和目标第二识别信息,在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式。

车辆中跨操作系统移植CPU装置300还用于:在运行状态为车辆运行中的情况下,暂缓移植,生成暂缓移植信息并将暂缓移植信息发送至服务器和终端;在运行状态为车辆闲置中的情况下,移植模块305还用于:获取启动移植定时时间;在启动移植定时时间到达的情况下,基于目标移植实现方式,将目标第一操作系统移植到目标第二操作系统所对应的目标CPU上。

移植模块305还用于:监测移植的完成状态,在移植的完成状态为未完成状态时,车辆中提示移植未完成的相关信息,并禁止车辆的油门启动。

车辆中跨操作系统移植CPU装置300还用于:在车辆中预先配置的多个移植实现方式中获取移植参数信息对应的目标移植实现方式失败的情况下,向服务器或终端反馈移植参数信息有误;请求服务器或终端在车辆中预先配置的多个移植实现方式中增加移植参数信息对应的移植实现方式。

车辆中跨操作系统移植CPU装置300还用于:监测目标第一操作系统在目标CPU上的运行状态,运行状态包括无法运行和可运行;在运行状态为无法运行的情况下,向服务器或终端反馈移植失败信息,并陆续接收服务器或终端发来的至少一个移植配置指令,基于至少一个移植配置指令将目标第一操作系统移植到目标第二操作系统所对应的CPU上;在运行状态为可运行的情况下,向服务器或终端反馈移植成功信息。

车辆中跨操作系统移植CPU装置300还用于:在运行状态为无法运行的情况下,控制车辆提示报警信息。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图4是根据一示例性实施例示出的一种用于车辆中跨操作系统移植CPU的电子设备的框图一,该电子设备可以是终端,其内部结构图可以如图4所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种车辆中跨操作系统移植CPU方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图5是根据一示例性实施例示出的一种用于车辆中跨操作系统移植CPU的电子设备的框图二,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种车辆中跨操作系统移植CPU方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的车辆中跨操作系统移植CPU方法。

在示例性实施例中,还提供了一种计算机可读存储介质,当该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的车辆中跨操作系统移植CPU方法。计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的车辆中跨操作系统移植CPU方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术分类

06120116522531