一种车载双系统装置及其启动方法

xiaoxiao2021-3-1  200

一种车载双系统装置及其启动方法
【技术领域】
[0001]本发明涉及车载设备技术领域,更具体地说,涉及一种车载双系统装置及其启动方法。
【背景技术】
[0002]随着智能设备的日益普及,广大用户对车载设备的智能化程序要求也日渐提高,而原有的单一的单片系统越来越难以满足日益丰富的市场需求。同时随着Android系统应用日益广泛,基于Android的智能设备也逐步开始出现在汽车平台上,但因Android系统复杂程序较高,与原有的单片机平台相比,仍存在一些不足,为该系统在车载平台的应用带来了一系列的困难。
[0003]现有技术中较常用的一种方案为:使用能满足快速启动要求的MCU单片机对视频转换芯片进行多图层管理,将需要快速加载和响应的功能模块图形画面绘制到顶层图层,将Android系统输出图像绘制到底层图层,并将合成后的图像输出到屏幕显示。该方案的缺点有:(1)MCU单片机绘制的图形界面效果较差;(2)两路图像合成后输出质量依赖于视频转换芯片的处理能力,可能导致显示质量降低;(3)需要增加视频转换芯片,硬件成本较高;
[4]触摸屏数据需要分别发送给Android平台和MCU单片机,增加系统复杂性。
[0004]现有技术中较常用的另一种方案为:在文件系统中开辟一个镜像备份区,在系统初次启动时将系统资源及全部配置参数复制到镜像备份区,在之后的系统启动过程中则不需再次执行系统资源配置等过程,而是在直接将镜像备份区的备份文件直接载入到运行内存中,载入完成即可进入正常工作状态。该方案的缺点有:该方案在启动中没有初始化系统配置参数的过程,直接使用历史数据,在个别情况下可能因工作环境变化,引起系统配置参数变化,导致系统无法启动或出现挂死、重启等现象,难以达到对系统稳定性的要求。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术中系统处理能力差,稳定性低等缺陷,提供一种车载双系统装置及其启动方法。
[0006]本发明解决其技术问题所采用的技术方案是:
[0007]构造一种车载双系统装置,包括:
[0008]Linux系统,其连接至车辆的CAN系统;其中,所述Linux系统包括Linux内核及Linux子系统;所述Linux内核用于管理电源及多个硬件驱动程序;所述Linux子系统用于加载QT显示框架的支持库,并对所述QT显示框架进行管理;
[0009]Android系统,其与所述Linux系统对接,所述Android系统用于驱动多个应用程序,并与所述QT显示框架的资源共用。
[0010]在本发明所述的车载双系统装置中,所述Linux子系统还用于控制应用程序的交互页面,并划分独立内存区及独立显存区以管理所述交互页面。
[0011]在本发明所述的车载双系统装置中,所述多个硬件驱动程序包括显示驱动程序、内存驱动程序、音频驱动程序、触摸屏驱动程序、按键驱动程序、USB驱动程序、Binder驱动程序、WIFI驱动程序以及网络驱动程序。
[0012]在本发明所述的车载双系统装置中,所述多个应用程序包括收音机、USB媒体、网络媒体、天气、新闻、系统设置、车身控制、语音交互、导航、数据同步服务以及网络服务。
[0013]在本发明所述的车载双系统装置中,所述Android系统的系统架构层包括任务管理器、窗口管理器、内容提供者、页面构建器、通知管理器、程序管理器、位置管理器、资源管理器、电话管理器以及XMPP服务。
[0014]另一方面,提供一种车载双系统装置的启动方法,采用如上所述的车载双系统装置,包括:
[0015]启动Linux内核;
[0016]加载QT显示框架的支持库以使所述QT显示框架独立运行;
[0017]所述QT显示框架加载完成后,启动所述Android系统;其中,所述Android系统的启动过程中与所述QT显示框架的资源共用。
[0018]在本发明所述的启动方法中,还包括:
[0019]控制应用程序的交互页面,并划分独立内存区及独立显存区以管理所述交互页面。
[0020]在本发明所述的启动方法中,所述多个硬件驱动程序包括显示驱动程序、内存驱动程序、音频驱动程序、触摸屏驱动程序、按键驱动程序、USB驱动程序、Binder驱动程序、WIFI驱动程序以及网络驱动程序。
[0021]在本发明所述的启动方法中,所述多个应用程序包括收音机、USB媒体、网络媒体、天气、新闻、系统设置、车身控制、语音交互、导航、数据同步服务以及网络服务。
[0022]在本发明所述的启动方法中,所述Android系统的系统架构层包括任务管理器、窗口管理器、内容提供者、页面构建器、通知管理器、程序管理器、位置管理器、资源管理器、电话管理器以及XMPP服务。
[0023]上述公开的一种车载双系统装置及其启动方法具有以下有益效果:通过预加载小系统实现部分功能的快速响应,通过共用内核实现双系统的资源共享,从而实现了系统重要功能的快速响应,为重要功能划出了独立运行空间,不易受到其他任务影响,保证该任务的稳定可靠。
【附图说明】
[0024]图1为本发明提供的一种车载双系统装置框图;
[0025]图2为本发明提供的一种车载双系统装置的启动方法流程图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0027]本发明提供一种车载双系统装置及其启动方法,涉及一种提高系统启动速度缩短开机启动时等待时间的方法,实现系统部分功能模块的快速加载和快速响应,以满足车载系统对启动响应时间的要求;相比于其他同行业设备的对应策略,本方案具有更好的用户体验和成本优势:通过软件在系统内核层之上构建linux+Android双系统,并通过Linux小系统加载需要快速响应的部分模块,再启动完整的Android系统,优先启动部分响应速度较快;因在同一套硬件平台上先后加载双系统,双系统之间能做到平滑过渡,相对于其他方案具有更好的用户体验;因该方案完全由软件实现,不需要增加外部视频处理等芯片,相比其他方案更具有硬件成本优势。
[0028]参见图1,图1为本发明提供的一种车载双系统装置100框图,该车载双系统装置100包括:
[0029]Linux系统1,其连接至车辆的CAN系统;其中,所述Linux系统1包括Linux内核11及Linux子系统12;所述Linux内核11用于管理电源及多个硬件驱动程序;所述Linux子系统12用于加载QT显示框架(Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta ObjectCompiler,moc))以及一些宏,易于扩展,允许组件编程。)的支持库,并对所述QT显示框架进行管理;所述Linux子系统12还用于控制应用程序的交互页面,并划分独立内存区及独立显存区以管理所述交互页面。
[°03°] Android系统2,其与所述Linux系统1对接,所述Android系统2用于驱动多个应用程序,并与所述QT显示框架的资源共用。 [0031]总之,上述车载双系统装置100将QT显示框架移植到Linux内核11层上,并通过内核设置,使内核启动后先加载QT显示框架依赖的支持库,以确保QT显示框架能独立运行。确认QT显示框架加载完成后再进入完整Android系统2的启动流程,在启动过程中通过与QT框架的部分资源共用,避免资源的冲突和干涉,保证Android系统2的正常启动。
[0032]优选的,所述多个硬件驱动程序包括显示驱动程序、内存驱动程序、音频驱动程序、触摸屏驱动程序、按键驱动程序、USB驱动程序、Binder(Binder是Android中定义的一个类,它是能进行远程操作的对象的一个基类,一个轻量级的远程过程调用机制的核心部分在IBinder类中定义。这个类是一个IBinder类的实现,为创建一个本地实现对象提供了标准的支持。)驱动程序、WIFI驱动程序以及网络驱动程序。
[0033]优选的,所述多个应用程序包括收音机、USB媒体、网络媒体、天气、新闻、系统设置、车身控制、语音交互、导航、数据同步服务以及网络服务。
[0034]优选的,所述Android系统2的系统架构层包括任务管理器、窗口管理器、内容提供者、页面构建器、通知管理器、程序管理器、位置管理器、资源管理器、电话管理器以及XMPP服务(XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。)。
[0035]同时,Linux系统1支持类库有:页面管理、媒体框架、数据库、3D支持库、位图支持库、浏览器引擎、2D图形引擎、网络协议框架以及C标准库。
[0036]Android系统2在准备运行环境(runtime)时,可执行上述支持类库及Dalvik虚拟机。其中,Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
[0037]Linux子系统12也为车身控制单元,具有控制应用交互页面、应用交互服务、QT显示框架等功能,Linux子系统12本身也具有小文件系统(Mini FileSystem),该小文件系统支持车辆的硬件相关基础服务及上述核心类库。
[0038]参见图2,图2为本发明提供的一种车载双系统装置的启动方法流程图,该方法采用如上所述的车载双系统装置100,包括以下步骤:
[0039]S1、启动 Linux 内核11;
[0040]S2、加载QT显示框架的支持库以使所述QT显示框架独立运行;
[0041 ] S3、所述QT显示框架加载完成后,启动Android系统2;其中,所述Android系统2的启动过程中与所述QT显示框架的资源共用。
[0042]优选的,该方法还包括步骤:
[0043]S4、控制应用程序的交互页面,并划分独立内存区及独立显存区以管理所述交互页面。
[0044]优选的,所述多个硬件驱动程序包括显示驱动程序、内存驱动程序、音频驱动程序、触摸屏驱动程序、按键驱动程序、USB驱动程序、Binder驱动程序、WIFI驱动程序以及网络驱动程序。
[0045]优选的,所述多个应用程序包括收音机、USB媒体、网络媒体、天气、新闻、系统设置、车身控制、语音交互、导航、数据同步服务以及网络服务。
[0046]优选的,所述Android系统2的系统架构层包括任务管理器、窗口管理器、内容提供者、页面构建器、通知管理器、程序管理器、位置管理器、资源管理器、电话管理器以及XMPP服务。
[0047]上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的【具体实施方式】,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
【主权项】
1.一种车载双系统装置,其特征在于,包括: Linux系统,其连接至车辆的CAN系统;其中,所述Linux系统包括Linux内核及Linux子系统;所述Linux内核用于管理电源及多个硬件驱动程序;所述Linux子系统用于加载QT显示框架的支持库,并对所述QT显示框架进行管理; Android系统,其与所述Linux系统对接,所述Android系统用于驱动多个应用程序,并与所述QT显示框架的资源共用。2.根据权利要求1所述的车载双系统装置,其特征在于, 所述Linux子系统还用于控制应用程序的交互页面,并划分独立内存区及独立显存区以管理所述交互页面。3.根据权利要求1所述的车载双系统装置,其特征在于,所述多个硬件驱动程序包括显示驱动程序、内存驱动程序、音频驱动程序、触摸屏驱动程序、按键驱动程序、USB驱动程序、Binder驱动程序、WIFI驱动程序以及网络驱动程序。4.一种车载双系统装置的启动方法,提供如权利要求1所述的车载双系统装置,其特征在于,包括: 启动Linux内核; 加载QT显示框架的支持库以使所述QT显示框架独立运行; 所述QT显示框架加载完成后,启动Android系统;其中,所述Android系统的启动过程中与所述QT显示框架的资源共用。5.根据权利要求4所述的启动方法,其特征在于,还包括: 控制应用程序的交互页面,并划分独立内存区及独立显存区以管理所述交互页面。6.根据权利要求4所述的启动方法,其特征在于,所述多个硬件驱动程序包括显示驱动程序、内存驱动程序、音频驱动程序、触摸屏驱动程序、按键驱动程序、USB驱动程序、Binder驱动程序、WIFI驱动程序以及网络驱动程序。
【专利摘要】本发明公开了一种车载双系统装置及其启动方法,该车载双系统装置包括:Linux系统,其连接至车辆的CAN系统;其中,所述Linux系统包括Linux内核及Linux子系统;所述Linux内核用于管理电源及多个硬件驱动程序;所述Linux子系统用于加载QT显示框架的支持库,并对所述QT显示框架进行管理;Android系统,其与所述Linux系统对接,所述Android系统用于驱动多个应用程序,并与所述QT显示框架的资源共用。该发明的有益效果为:实现系统重要功能的快速响应,为重要功能划出了独立运行空间,不易受到其他任务影响,保证该任务的稳定可靠。
【IPC分类】G06F9/44
【公开号】CN105487869
【申请号】CN201510860806
【发明人】杨锋, 胡文, 吕东桦
【申请人】深圳联友科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日

最新回复(0)