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

基于Linux系统自适配车机芯片方法、装置、电子设备及车辆

文献发布时间:2024-04-18 19:58:30


基于Linux系统自适配车机芯片方法、装置、电子设备及车辆

技术领域

本申请涉及自适配领域,尤其涉及基于Linux系统自适配车机芯片方法、基于Linux系统自适配车机芯片装置、电子设备、存储介质及车辆。

背景技术

当前车辆芯片市场动荡,同一车型主机预定的芯片可能会因断供等原因,影响车辆出厂。但变换不同型号车机芯片,则需要开发人员根据不同的芯片参数,设置不同的软件系统版本。为保证软件系统平台的一致性,不能随意的为所有主机芯片设置新版本,但同一软件版本直接适配不同的主机芯片,可能会有兼容性问题,比如常见的有,会导致车机屏幕出现花屏、黑屏等问题。

因此,需要一种软件自行检测芯片并进行自动适配的方案,适配不同的主机芯片的同时,减少同一软件版本,因适配不同芯片,车机屏幕出现花屏、黑屏的情况。

发明内容

本发明的目的在于提供一种基于Linux系统自适配车机芯片方法、基于Linux系统自适配车机芯片装置、电子设备、存储介质及车辆,至少解决上述的一个技术问题。

本发明提供了下述方案:

根据本发明的一个方面,提供一种基于Linux系统自适配车机芯片方法,所述基于Linux系统自适配车机芯片方法包括:

启动车机系统,包括启动车机系统的引导程序,初始化硬件设备,并建立内存空间映射;

根据内存空间的参数数据,判断车机芯片与芯片外设的参数兼容性;

若,参数兼容异常,则根据当前参数兼容异常指向的参数进行数据刷新;

若,参数兼容正常,则按照当前内存空间的参数数据,运行车机系统;

其中,芯片外设包括,屏幕。

进一步的,所述启动车机系统包括:

Linux系统启动,包括BootLoader启动,加载param参数分区中参数至车机内存中;

所述param参数分区中参数包括编串器参数;

R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率;

Kernel内核启动查询车机芯片,获取编串器参数,对比车机内存中当前编串器参数;

其中,

若,编串器参数对比正确,则车机系统启动完成;

若,编串器参数对比错误,则根据Kernel内核启动查询车机芯片,获取编串器参数,更新param参数分区中编串器参数。

进一步的,所述R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率包括:

若,读取车机内存中编串器参数失败,或未读取到车机内存中编串器参数,则根据预设默认参数,设置屏幕帧率;

若,读取车机内存中编串器参数成功,且参数对比正确,则根据读取的车机内存中编串器参数,设置屏幕帧率。

进一步的,所述Kernel内核启动查询车机芯片,获取编串器参数,对比车机内存中当前编串器参数包括:

若,读取车机内存中编串器参数失败,则根据预设周期,重新Kernel内核启动查询车机芯片,获取编串器参数。

进一步的,所述param参数分区包括param参数A分区和param参数B分区;

BootLoader启动,加载param参数A分区中编串器参数至车机内存中;

R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率;

Kernel内核启动查询车机芯片,获取编串器参数,对比param参数A分区中编串器参数;

若,编串器参数对比错误,则向param参数A分区写入查询车机芯片编串器所获取参数,并发送申请重启车机系统的请求;

其中,发送申请重启车机系统的请求前,同步param参数A分区和param参数B分区中的编串器参数数据。

进一步的,所述重启车机系统包括:

所述BootLoader启动,加载param参数B分区中编串器参数至车机内存中;

R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率;

Kernel内核启动查询车机芯片,获取编串器参数,对比param参数A分区中编串器参数;

若,编串器参数对比正确,则更新param参数分区中编串器参数成功。

根据本发明的二个方面,提供一种基于Linux系统自适配车机芯片装置,所述基于Linux系统自适配车机芯片装置包括:

启动引导模块,用于启动车机系统,包括启动车机系统的引导程序,初始化硬件设备,并建立内存空间映射;

兼容判断模块,用于根据内存空间的参数数据,判断车机芯片与芯片外设的参数兼容性;

异常处理模块,用于若,参数兼容异常,则根据当前参数兼容异常指向的参数进行数据刷新;

车机运行模块,用于若,参数兼容正常,则按照当前内存空间的参数数据,运行车机系统。

根据本发明的三个方面,提供一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于Linux系统自适配车机芯片方法的步骤。

根据本发明的四个方面,提供一种计算机可读存储介质,包括:其存储有可由电子设备执行的计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行所述基于Linux系统自适配车机芯片方法的步骤。

根据本发明的五个方面,提供一种车辆,包括:

电子设备,用于实现所述基于Linux系统自适配车机芯片方法的步骤;

处理器,处理器运行程序,当程序运行时从电子设备输出的数据执行所述基于Linux系统自适配车机芯片方法的步骤;

存储介质,用于存储程序,程序在运行时对于从电子设备输出的数据执行所述基于Linux系统自适配车机芯片方法的步骤。

通过上述方案,获得如下有益的技术效果:

本申请通过在启动阶段对比系统启动时已有参数与当前芯片外设的参数,找到兼容异常的部分,根据兼容异常进行从新启动,数据刷新,从而实现自适应更换的芯片。

本申请通过同步param参数A、B分区中的数据,从新启动更新param参数分区中数据,实现自适应更换的芯片,兼容屏幕。

本申请通过临时采用默认参数,暂时启动屏幕,为之后的人机操作创造条件,帮助系统重启,完成自适应更换的芯片,兼容屏幕。

本申请通过Kernel内核启动查询车机芯片,获取编串器参数,从而为启动后完成自适应更换的芯片,兼容屏幕,创造条件。

附图说明

图1是本发明一个或多个实施例提供的基于Linux系统自适配车机芯片方法的流程图。

图2是本发明一个或多个实施例提供的基于Linux系统自适配车机芯片装置的结构图。

图3是本发明一个具体实施例的车机系统启动自适应芯片的流程示意图。

图4是本发明一个具体实施例的处理自适应芯片异常的第一流程示意图。

图5是本发明一个具体实施例的处理自适应芯片异常的第二流程示意图。

图6是本发明一个具体实施例的处理自适应芯片异常的第三流程示意图。

图7是本发明一个或多个实施例提供的基于Linux系统自适配车机芯片方法的一种电子设备结构框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明一个或多个实施例提供的基于Linux系统自适配车机芯片方法的流程图。

如图1所示,基于Linux系统自适配车机芯片方法包括:

步骤S1,启动车机系统,包括启动车机系统的引导程序,初始化硬件设备,并建立内存空间映射;

步骤S2,根据内存空间的参数数据,判断车机芯片与芯片外设的参数兼容性;

步骤S3,若,参数兼容异常,则根据当前参数兼容异常指向的参数进行数据刷新;

步骤S4,若,参数兼容正常,则按照当前内存空间的参数数据,运行车机系统;

步骤S5,其中,芯片外设包括,屏幕。

通过上述方案,获得如下有益的技术效果:

本申请通过在启动阶段对比系统启动时已有参数与当前芯片外设的参数,找到兼容异常的部分,根据兼容异常进行从新启动,数据刷新,从而实现自适应更换的芯片。

本申请通过同步param参数A、B分区中的数据,从新启动更新param参数分区中数据,实现自适应更换的芯片,兼容屏幕。

本申请通过临时采用默认参数,暂时启动屏幕,为之后的人机操作创造条件,帮助系统重启,完成自适应更换的芯片,兼容屏幕。

本申请通过Kernel内核启动查询车机芯片,获取编串器参数,从而为启动后完成自适应更换的芯片,兼容屏幕,创造条件。

具体而言,启动车机系统的引导程序,即BootLoader启动,批量的将数据导入,实现系统启动。启动引导程序后,由于可能是新的芯片,硬件环境是新的,需要初始化硬件设备,建立内存空间映射,以便于之后的数据存储和寻址。

为了实现兼容,需要对外设的当前数据进行比较,如果当前外设的参数数据和初始的参数数据不同。可以通过将当前外设的参数刷新param参数分区实现数据更新,在再次启动车机系统时,由于更新了param参数分区,车机系统会把适配好的数据用于启动引导,从而实现更换新的芯片后,系统和芯片自适配。

在本实施例中,启动车机系统包括:

Linux系统启动,包括BootLoader启动,加载param参数分区中参数至车机内存中;

param参数分区中参数包括编串器参数;

R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率;

Kernel内核启动查询车机芯片,获取编串器参数,对比车机内存中当前编串器参数;

其中,

若,编串器参数对比正确,则车机系统启动完成;

若,编串器参数对比错误,则根据Kernel内核启动查询车机芯片,获取编串器参数,更新param参数分区中编串器参数。

具体而言,BootLoader也称启动加载器,引导程序,位于电脑或其他计算机应用上,是指引导操作系统启动的程序。引导程序启动方式及程序视应用机型种类而不同。简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

由于系统升级功能影响,系统分区分为param参数AB双分区,默认启用A分区,B分区作为备份分区。如两分区参数信息不同步,可能出现参数分区内容异常情况。

R7内核指车机的快速倒车系统,整车上电后,在车机Android系统未启动前,R7内核会先启动完成;R7内核启动后会读取内存中的编串器参数,配置屏幕帧率,待Android系统启动后再查询参数做对比,比对正确后正常启动。

编串器可以看做将数据转换格式的工具,用于内存中转换数据,把系统外设、系统分区等数据,统一成在内存中存储的数据或参数。

Kernel内核是操作系统最基本的部分,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构、设备驱动程序、文件和网络系统,决定着系统的性能和稳定。

编串器参数两个来源,分别是芯片和param参数分区,如果对比成功,则车机系统的启动可以正常化了,每次都按照param参数分区中数据启动,如果对比失败,则需要对param参数分区中数据更新,以适用于新换的主机芯片。

在本实施例中,R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率包括:

若,读取车机内存中编串器参数失败,或未读取到车机内存中编串器参数,则根据预设默认参数,设置屏幕帧率;

若,读取车机内存中编串器参数成功,且参数对比正确,则根据读取的车机内存中编串器参数,设置屏幕帧率。

具体而言,R7内核启动,由此启动了对屏幕的使用,编串器参数读取失败,采用默认参数设置屏幕帧率。默认的参数是牺牲性能获得兼容性的措施,在本次启动没有更好的屏幕配置数据时,先让系统可以用,再通过后来的从新读取数据,进行重启,更新,最终获得匹配的参数。

在本实施例中,Kernel内核启动查询车机芯片,获取编串器参数,对比车机内存中当前编串器参数包括:

若,读取车机内存中编串器参数失败,则根据预设周期,重新Kernel内核启动查询车机芯片,获取编串器参数。

具体而言,Kernel内核作为操作系统的核心,是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础。通过它对车机芯片进行查询,获得芯片的编串器参数。

在本实施例中,param参数分区包括param参数A分区和param参数B分区;

BootLoader启动,加载param参数A分区中编串器参数至车机内存中;

R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率;

Kernel内核启动查询车机芯片,获取编串器参数,对比param参数A分区中编串器参数;

若,编串器参数对比错误,则向param参数A分区写入查询车机芯片编串器所获取参数,并发送申请重启车机系统的请求;

其中,发送申请重启车机系统的请求前,同步param参数A分区和param参数B分区中的编串器参数数据。

具体而言,默认启用param参数A分区,param参数B分区作为备份分区。如果param参数A启动不成功,则将param参数B分区数据覆盖A分区。以便于下次的启动可以成功。

在本实施例中,重启车机系统包括:

BootLoader启动,加载param参数B分区中编串器参数至车机内存中;

R7内核启动,读取车机内存中的编串器参数,配置屏幕帧率;

Kernel内核启动查询车机芯片,获取编串器参数,对比param参数A分区中编串器参数;

若,编串器参数对比正确,则更新param参数分区中编串器参数成功。

具体而言,把param参数B分区数据更新param参数A分区后,加载param参数B分区中编串器参数至车机内存中,再对比param参数A后,如果对比正确,则数据从param参数B分区到param参数A分区成功。

图2是本发明一个或多个实施例提供的基于Linux系统自适配车机芯片装置的结构图。

如图2所示的基于Linux系统自适配车机芯片装置包括:启动引导模块、兼容判断模块、异常处理模块、车机运行模块;

启动引导模块,用于启动车机系统,包括启动车机芯片的引导程序,初始化硬件设备,并建立内存空间映射;

兼容判断模块,用于根据内存空间的参数数据,判断车机芯片与芯片外设的参数兼容性;

异常处理模块,用于若,参数兼容异常,则根据当前参数兼容异常指向的参数进行数据刷新;

车机运行模块,用于若,参数兼容正常,则按照当前内存空间的参数数据,运行车机系统。

值得注意的是,虽然本系统只披露了启动引导模块、兼容判断模块、异常处理模块、车机运行模块,但并不意味着本装置仅仅局限于上述基本功能模块,相对,本发明所要表达的意思是,在上述基本功能模块的基础之上,本领域技术人员可以结合现有技术任意添加一个或多个功能模块,形成无穷多个实施例或技术方案,也就是说本系统是开放式的而非封闭式的,不能因为本实施例仅披露了个别基本功能模块,就认为本发明权利要求的保护范围局限于上述公开的基本功能模块。

图3是本发明一个具体实施例的车机系统启动自适应芯片的流程示意图。

图4是本发明一个具体实施例的处理自适应芯片异常的第一流程示意图。

图5是本发明一个具体实施例的处理自适应芯片异常的第二流程示意图。

图6是本发明一个具体实施例的处理自适应芯片异常的第三流程示意图。

在一具体实施例中,BootLoader启动,加载param参数分区至内存中;R7内核启动,读取内存中的编串器参数,配置屏幕帧率;Kernel内核启动,查询编串器获取参数,对比已有参数;参数对比正确,正常启动;屏幕可正常显示。期间,可能出现参数分区异常,可能参数配置错误。需要刷新数分区,重启系统等。

在另一具体实施例中,如图3所示,参数分区出现了异常。比如,由于系统升级功能影响,系统分区分为AB双分区,默认启用A分区,B分区作为备份分区。如两分区参数信息不同步,可能出现参数分区内容异常情况。

在另一具体实施例中,(参数分区异常应对案1)基于以上假设,应对案如图4所示,参数对比配置错误,向param参数A分区写入新参数,申请重启车机,重启前检测AB参数分区内屏幕类型,并完成同步;BootLoader启动,加载param参数B分区至内存中;R7内核启动,读取内存中的编串器参数,配置屏幕帧率;Kernel内核启动。查询编串器获取参数,对比param参数A分区;参数对比正确,正常启动;屏幕正常显示。

在另一具体实施例中,(参数分区异常应对案2)在系统异常情况下或烧写操作异常中断情况下,有可能出现param分区丢失或存在param分区但无指定字段数据情况。基于以上假设,应对案如图5所示,BootLoader启动,加载param参数分区至内存中;未读取到指定参数或读取参数失败,采用默认配置,配置屏幕帧率为30帧;Kernel内核启动,查询编串器获取参数,对比已有参数;参数获取失败,正常启动,定时重新获取参数;参数对比正确,正常启动,屏幕正常显示;参数对比错误,写入当次读取参数到param分区失败,申请重启。

在另一具体实施例中,考虑到IIC通讯实际上并不如使用EOL配置或其它串码进行产品区分可靠性高。有可能出现IIC偶发通讯故障或IIC通讯失败造成的参数配置失误。基于以上考虑,参数获取失败应对案如图6所示,BootLoader启动,加载param参数分区至内存中;未读取到指定参数或读取参数失败,采用默认配置,配置屏幕帧为30帧;参数获取失败,正常启动,定时重新获取参数;查询编串器,获取参数成功,对比已有参数,参数对比错误,写入当次读取参数到param分区,申请重启;屏幕正常显示,但存在跳点风险。

在另一具体实施例中,部分车机因故需将原有芯片DS949切替为DS929后,由于DS929带宽所限无法满足原显示屏60帧稳定显示需求,造成新老软件需要区分处理,软硬件不兼容。按照图3、4、5、6所示方法,编译软件进行测试,通过测试,合入正式版本。

图7是本发明一个或多个实施例提供的基于Linux系统自适配车机芯片方法的一种电子设备结构框图。

如图7所示,本申请提供一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器中存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行一种基于Linux系统自适配车机芯片方法的步骤。

本申请还提供一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行一种基于Linux系统自适配车机芯片方法的步骤。

本申请还提供一种车辆,包括:

电子设备,用于实现基于Linux系统自适配车机芯片方法的步骤;

处理器,处理器运行程序,当程序运行时从电子设备输出的数据执行基于Linux系统自适配车机芯片方法的步骤;

存储介质,用于存储程序,程序在运行时对于从电子设备输出的数据执行基于Linux系统自适配车机芯片方法的步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

电子设备包括硬件层,运行在硬件层之上的操作系统层,以及运行在操作系统上的应用层。该硬件层包括中央处理器(CPU,Central Processing Unit)、内存管理单元(MMU,Memory Management Unit)和内存等硬件。该操作系统可以是任意一种或多种通过进程(Process)实现电子设备控制的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。并且在本发明实施例中该电子设备可以是智能手机、平板电脑等手持设备,也可以是桌面计算机、便携式计算机等电子设备,本发明实施例中并未特别限定。

本发明实施例中的电子设备控制的执行主体可以是电子设备,或者是电子设备中能够调用程序并执行程序的功能模块。电子设备可以获取到存储介质对应的固件,存储介质对应的固件由供应商提供,不同存储介质对应的固件可以相同可以不同,在此不做限定。电子设备获取到存储介质对应的固件后,可以将该存储介质对应的固件写入存储介质中,具体地是往该存储介质中烧入该存储介质对应固件。将固件烧入存储介质的过程可以采用现有技术实现,在本发明实施例中不做赘述。

电子设备还可以获取到存储介质对应的重置命令,存储介质对应的重置命令由供应商提供,不同存储介质对应的重置命令可以相同可以不同,在此不做限定。

此时电子设备的存储介质为写入了对应的固件的存储介质,电子设备可以在写入了对应的固件的存储介质中响应该存储介质对应的重置命令,从而电子设备根据存储介质对应的重置命令,对该写入对应的固件的存储介质进行重置。根据重置命令对存储介质进行重置的过程可以现有技术实现,在本发明实施例中不做赘述。

为了描述的方便,描述以上装置时以功能分为各种单元、模块分别描述。当然在实施本申请时可以把各单元、模块的功能在同一个或多个软件和/或硬件中实现。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 电子设备显示屏驱动芯片驱动方法、装置及电子设备
  • 基于Linux系统定义应用程序权限的方法、电子设备
  • 基于Linux系统便捷设置桌面插件的方法、电子设备
  • 基于Linux系统控制应用程序的方法以及电子设备
  • 车辆及应用的车机、适配外置功放的车机电路与控制方法
  • 车辆及应用的车机、适配外置功放的车机电路与控制方法
技术分类

06120116502007