最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于Android系统的车载系统的快速启动方法

IT圈 admin 26浏览 0评论

2024年5月7日发(作者:崇梓榆)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.7

(22)申请日 2013.06.25

(71)申请人 上海博泰悦臻电子设备制造有限公司

地址 200235 上海市徐汇区天钥桥路30号美罗大厦19楼

(72)发明人 王磊 赵亚立

(74)专利代理机构 上海专利商标事务所有限公司

代理人 陆嘉

(51)

G06F9/445

权利要求说明书 说明书 幅图

(10)申请公布号 CN 104252363 A

(43)申请公布日 2014.12.31

(54)发明名称

基于Android系统的车载系统的快

速启动方法

(57)摘要

本发明提供了一种基于Android系

统的车载系统的快速启动方法,包括:对

原生Android系统的引导程序、内核和用

户域的启动方式进行优化,以使优化后的

启动时间小于原生Android系统的默认启

动时间;以优化后的方式加载并启动所述

引导程序;以优化后的方式加载并启动所

述内核;以优化后的方式加载并启动所述

用户域。本发明能够缩短车载系统的启动

时间,有利于改善用户体验。

法律状态

法律状态公告日

2022-02-25

2018-10-02

2015-04-08

2014-12-31

法律状态信息

专利权人的姓名或者名称、地址

的变更

授权

实质审查的生效

公开

法律状态

专利权人的姓名或者名

称、地址的变更

授权

实质审查的生效

公开

权 利 要 求 说 明 书

1.一种基于Android系统的车载系统的快速启动方法,其特征在于,包括:

对原生Android系统的引导程序、内核和用户域的启动方式进行优化,以使优

以优化后的方式加载并启动所述引导程序;

以优化后的方式加载并启动所述内核;

以优化后的方式加载并启动所述用户域。

2.根据权利要求1所述的方法,其特征在于,对所述引导程序、内核和用户

域的启动方式进行优化包括:根据所述车载系统的软硬件配置对所述引导程

核和用户域的启动方式进行优化。

化后的启动时间小于原生Android系统的默认启动时间;

序、内

3.根据权利要求2所述的方法,其特征在于,根据所述车载系统的软硬件配

裁减所述引导程序中与网络相关的模块;

减小读取区域和uImage区域的空间,使其小于原生Android系

置对所述引导程序的启动方式进行优化包括以下操作中的一项或多项:

统的默认值;

减小MMC驱动中发送命令的延迟时间,使其小于原生Android系统的默认值

4.根据权利要求2所述的方法,其特征在于,对所述引导程序的启动方式进

去除加载所述内核之前的等待时间;

对于同一MMC硬件仅调用一次MMC初始化程序;

将是否进入还原模式的判断方式修改为通过读取预设偏移位置的裸数据来判

5.根据权利要求2所述的方法,其特征在于,根据所述车载系统的软硬件配

置对所述内核的启动方式进行优化包括以下操作

断。

行优化还包括以下操作中的一项或多项:

并与所述车载系统的硬件配置适配。

中的一项或多项:

减小pty设备节点的数量,使其小于原生Android系统的默认值并与所述车载

延迟所述内核中的initcall机制,以将所述内核的多个驱动中的一部分转移至

所述用户域的启动过程进行初始化;

系统的软硬件配置适配;

对电源管理芯片的初始化过程进行优化,以去除与所述车载系统的硬件配置

裁减所述车载系统的硬件配置以外的设备驱动;

裁减所述车载系统未使用的文件系统。

6.根据权利要求2所述的方法,其特征在于,对所述内核的启动方式进行优

7.根据权利要求2所述的方法,其特征在于,根据所述车载系统的软硬件配

删除所述车载系统未使用的原生Android服务;

对预加载的类列表做裁减优化,将所述车载系统未使用的类从所述预加载的

裁减以太网服务;

移除Sensor Manager和Battery Service内部的全部操作并保留接口。

类列表中删除;

置对所述用户域的启动方式进行优化包括以下操作中的一项或多项:

化还包括:去除内核的打印信息。

不相关的部分;

8.根据权利要求2所述的方法,其特征在于,对所述用户域的启动方式进行

将Entropy Service对文件的读写修改为异步的;

将Package Manager Service对配置文件的写操作修改为异步的;

增大垃圾收集的阈值,以减小垃圾收集的次数;

将桌面启动器和系统用户界面设置为优先于其他应用启动;

将文件中对/dev/路径下设备节点权限的修改转移至文件中;

预先在uramdisk中创建挂载点目录,以避免动态创建;

关闭Java本地调用的检查;

压缩所述桌面启动器中的界面图片资源。

优化还包括以下操作中的一项或多项:

说 明 书

技术领域

本发明涉及车载系统的启动技术,尤其涉及一种基于Android系统的车载系统

背景技术

现有的基于Android系统的车载娱乐系统保留了Android系统的诸多优点,例

如良好的可移植性和定制性、丰富的应用软件生态环境等,但同时也一并继

了Android系统开机启动时间过长的缺点。

的快速启动方法。

承遗留

原生的Android系统的开机启动过程如图1所示,启动过程按照引导程序

(bootloader)11、内核(kernel)12和用户域(user space)的顺序先后加

其中用户域的加载启动按照初始化程序/启动脚本(init/)

132、系统服务(System Server)133和桌面启

载启动。

载启动,

131、孵化器(Zygote)

动器(Launcher)134的顺序先后加

其中,用户域的加载启动的详细过程如图2所示,首先加载启动初始化程序/

启动脚本(init/)21,然后启动本地服务22,之后启动Android服务

后加载启动Android应用24。其中,在原生的Android系统中,

rild、netd、媒体(media)、孵化器(zygote)以及其

源管理器(Power Manager)、内容管理

Manager)以及其他

23,最

本地服务22包括

他服务;Android服务包括电

器(Content Manager)、打包器管理器(Packager

服务。

现有的基于Android系统的车载系统的启动时间比较长,例如冷开机时间普遍

都超过30秒。在车载系统领域,这样漫长的开机等待时间给用户使用带来

了不便,

发明内容

导致了非常差的用户体验。

本发明要解决的技术问题是提供一种基于Android系统的车载系统的快速启

动方法,能够缩短车载系统的启动时间,有利于改善用

户体验。

为解决上述技术问题,本发明提供了一种基于Android系统的车载系统的快速

对原生Android系统的引导程序、内核和用户域的启动方式进行优化,以使优

以优化后的方式加载并启动所述引导程序;

以优化后的方式加载并启动所述内核;

以优化后的方式加载并启动所述用户域。

根据本发明的一个实施例,对所述引导程序、内核和用户域的启动方式进行

优化包括:根据所述车载系统的软硬件配置对所述引导程序、内核和用户域

方式进行优化。

化后的启动时间小于原生Android系统的默认启动时间;

启动方法,包括:

的启动

根据本发明的一个实施例,根据所述车载系统的软硬件配置对所述引导程序

裁减所述引导程序中与网络相关的模块;

的启动方式进行优化包括以下操作中的一项或多项:

减小读取区域和uImage区域的空间,使其小于原生Android系

减小MMC驱动中发送命令的延迟时间,使其小于原生Android系统的默认值

根据本发明的一个实施例,对所述引导程序的启动方式进行优化还包括以下

去除加载所述内核之前的等待时间;

对于同一MMC硬件仅调用一次MMC初始化程序;

将是否进入还原模式的判断方式修改为通过读取预设偏移位置的裸数据来判

根据本发明的一个实施例,根据所述车载系统的软硬件配置对所述内核的启

减小pty设备节点的数量,使其小于原生Android系统的默认值并与所述车载

延迟所述内核中的initcall机制,以将所述内核的多个驱动中的一部分转移至

对电源管理芯片的初始化过程进行优化,以去除与所述车载系统的硬件配置

裁减所述车载系统的硬件配置以外的设备驱动;

不相关的部分;

所述用户域的启动过程进行初始化;

系统的软硬件配置适配;

动方式进行优化包括以下操作中的一项或多项:

断。

操作中的一项或多项:

并与所述车载系统的硬件配置适配。

统的默认值;

裁减所述车载系统未使用的文件系统。

根据本发明的一个实施例,对所述内核的启动方式进行优化还包括:去除内

根据本发明的一个实施例,根据所述车载系统的软硬件配置对所述用户域的

删除所述车载系统未使用的Android服务;

对预加载的类列表做裁减优化,将所述车载系统未使用的类从所述预加载的

裁减以太网服务;

移除Sensor Manager和Battery Service内部的全部操作并保留接口。

根据本发明的一个实施例,对所述用户域的启动方式进行优化还包括以下操

将Entropy Service对文件的读写修改为异步的;

将Package Manager Service对配置文件的写操作修改为异步的;

增大垃圾收集的阈值,以减小垃圾收集的次数;

将桌面启动器和系统用户界面设置为优先于其他应用启动;

作中的一项或多项:

类列表中删除;

启动方式进行优化包括以下操作中的一项或多项:

核的打印信息。

将文件中对/dev/路径下设备节点权限的修改转移至文件中;

预先在uramdisk中创建挂载点目录,以避免动态创建;

关闭Java本地调用的检查;

压缩所述桌面启动器中的界面图片资源。

与现有技术相比,本发明具有以下优点:

本发明实施例的基于Android系统的车载系统的快速启动方法中,首先对

Android系统的引导程序、内核和用户域的启动方式进行优化,之后按照常

序,以优化后的方式加载并启动引导程序、内核和用户域,从

善用户体验。

规的顺

而缩短启动时间,改

进一步而言,对于引导程序、内核和用户域的优化可以是根据车载系统的软

附图说明

图1是原生Android系统的启动流程示意图;

图2是原生Android系统的用户域的详细启动流程示意图;

图3是本发明实施例的基于Android系统的车载系统的快速启动方法的流程示

具体实施方式

意图。

硬件配置来进行的,使得优化过程更加有针对性。

下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发

参考图3,本实施例中,基于Android系统的车载系统的快速启动方法包括

步骤S31,对原生Android系统的引导程序、内核和用户域的启动方式进行优

步骤S32,以优化后的方式加载并启动所述引导程序;

步骤S33,以优化后的方式加载并启动所述内核;

步骤S34,以优化后的方式加载并启动所述用户域。

本实施例保留了原生Android系统原有的启动阶段(包括引导程序、内核和用

户域)和顺序不变,但针对车载系统本身的特点对各个启动阶段进行了优化

从而缩短了车载系统的开机启动时间。在一实例中,采用该方

的开机时间降低至13秒。

化,以使优化后的启动时间小于原生Android系统的默认启动时间;

如下步骤:

明的保护范围。

和改良,

法可以使得车载设备

进一步而言,对各个启动阶段的优化包括根据车载系统的软硬件配置进行

首先介绍对于引导程序的优化。

首先可以裁减引导程序中于网络相关的模块。例如在一实例中,车载系统

被配置为无需使用原生Android系统提供的网络,那么可以裁减FTP上传/

相关的模块,还可以裁减网络挂载分区的

优化,以及其他通用的优化。下面对各个启动阶段的具体优化方法进行详细

明。

下载

NFS命令等。

另外,还可以减小读取区域和uImage区域的空间大小,使其

小于原生Android系统的默认值。例如,在一实例中,可以将读取

域和uImage区域这两个区域的空间减小至约2.6M。 区

另外还可以优化MMC驱动性能,减小MMC驱动中发送命令的延迟时间,

使其小于原生Android系统的默认值并与车载系统的硬件配置适配。例如可

10000纳秒减小至1纳秒,示意性的实现代码如下: 以从

另外,还可以去除引导程序启动过程中的延迟等待时间,也就是引导程序

启动过程的结尾至加载内核之前的等待时间。在原生Android系统中,该等

时间通常为3s,本实施例中可以将其设置为0。例如可以通过下述方

式实现:

-#define CONFIG_BOOTDELAY 3 //删除

+#define CONFIG_BOOTDELAY 0 //添加

另外,通过优化,可以对于同一MMC硬件仅调用一次MMC初始化程序

(mmc_init),而原生Android系统在每一次IO之前

化程序。示意性的实现方式如下: 都会调用一次MMC初始

另外,还可以将是否进入还原(recovery)模式的判断方式修改为通过读

取偏移位置的裸数据来判断,而不再通过开机启动读取高速缓存(cache)

里某文件的方式判断是否进入还原模式。示意性的实现方式如下: 分区

下面对内核的启动方式的优化进行详细描述。

首先可以减小pty设备节点的数量,使其小于原生Android系统的默认值并

与所述车载系统的软硬件配置适配。在一实例中,可以将原生Android系统

态分配的256个pty设备节点减小至32。进一步而言,可以通

_count=32来实现。

默认动

过增加启动参数

此外,还可以去除内核的打印信息,例如可以增加启动参数quiet来实现。

另外,还可以延迟内核中的initcall机制,将部分驱动转移至用户域的启动过

另外,还可以对电源管理芯片(PMIC)的初始化过程进行优化,将与车载系

另外,还可以将车载系统的硬件配置以外的设备驱动裁减掉,也就是将车

载系统并未使用的硬件的设备驱动移除。例如可以将驱动INPUT_ISL29023

统的硬件配置不相关的部分跳过。示意性的实现方式如下:

程再触发初始化。

裁 减掉,实现方式可以是:Disable INPUT_ISL29023。另外,可以将没

的LCD驱动裁减掉,例如: 有使用到

e CONFIG_FB_MXC_EPSON_VGA_SYNC_PANEL

e CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL

e CONFIG_FB_MXC_SEIKO_WVGA_SYNC_PANEL

e CONFIG_FB_MXC_SII902X

e CONFIG_FB_MXC_CH7026

e CONFIG_FB_MXC_EINK_PANEL

此外,还可以裁减掉MAX17135,MAG3110,MMA8451驱动。示意性的

Disable MFD_MAX17135,REGULATOR_MAX17135

Disable sensor drivers MAX17135,MAG3110,MMA8451.

此外,还可以将DA9052驱动裁减掉,实现方式如下:

Disable all drivers on DA9052。

此外,还可以将以太网(ethernet)驱动裁减掉,实现方式如下:

Disable all drivers of ethernet。

实现方式如下:

还可以将APM battery驱动裁减掉,实现方式如下:

Remove all APM battery drviers。

还可以将红外(IR)设备相关的设备驱动裁减掉,实现方式如下:

Disable CONFIG_RC_MAP;

Disable CONFIG_IR_RC5_DECODER;

Disable CONFIG_IR_RC6_DECODER;

Disable CONFIG_IR_JVC_DECODER;

Disable CONFIG_IR_SONY_DECODER;

Disable CONFIG_RC_MAP;

Disable CONFIG_VIDEO_IR_I2C。

还可以将所有CAN相关的设备驱动移除,实现方式如下:

Disable CONFIG_CAN,CONFIG_CAN_RAW and CONFIG_CAN_BCM。

还可以将键盘驱动KEYBOARD_GPIO和KEYBOARD_MXC裁减掉,实

Disable KEYBOARD_GPIO and KEYBOARD_MXC。

此外,还可以将电源管理模块DVFS裁减掉。

现方式如下:

另外,还可以将车载系统未使用的文件系统裁减掉,例如可以将文件系统

下面详细介绍用户域启动方式的优化。

首先,可以删除车载系统未使用的原生Android服务。例如,可以采用如下

Headset Observer;

HDMI Observer;

Dock Observer;

Recognition Manager Service;

Vibrator Service;

Backup Service。

另外,可以将Entropy Service中对文件的读写修改为异步的,以防止阻塞。

另外,可以将Package Manager Service对配置文件的写操作修改为异步的,以

此外,还可以取消对/vendor/app目录的扫描。

另外,可以对预加载的类列表进行裁减优化,将车载系统未使用的类从预加

载的类列表中删除,例如:

防止阻塞。

方式删除相关的原生Android服务:

UBIFS模块裁减掉。

.*

libcore.*

.*

ct Http Client

View Core

terface

Bluetooth class;

此外,可以将一些较为耗时的操作从预加载类时执行转移到创建对象时再

此外,还可以调整垃圾收集(GC)的阈值,使其大于原生Android系统的

默认值,以减小垃圾收集的次数。需要说明的是,该调整仅影响预加载类阶

的垃圾收集操作,在预加载类结束后,垃圾收集的阈值将被调回默认

执行。

值。

另外,可以调整用户域中各个应用的启动顺序,首先启动桌面启动器

(launcher)和系统用户界面(systemui),其余的应用(例如电话、拼音输

法等)例如可以延迟2秒后再启动。而在原生Android系统中,上述

都是同时启动的,影响了启动速度。 全部应用

另外还可以对启动脚本()进行优化,具体而言,可以包括如下内

容:

A.删除车载系统不需要的操作,如不需要的环境变量的设置等;

B.将对/dev/下设备节点权限的修改全部移到文件中;

C.预先在uramdisk中创建挂载点目录,而不在启动时动态创建。

针对Package Manager service的优化可以包括:

A.用户(user)版本针对/system/app下的apk应用不再做odex文件的生

B.分阶段扫描apk应用,重要的apk应用优先扫描加载,例如先系统级,

另外,可以裁减掉以太网服务。

另外,还可以移除Sensor Manager和Battery Service内部的所有操作,并

此外,可以关闭Java本地调用(JNI)的检查,实现方式如下:

JNI check off。

对于桌面启动器(launcher)应用的优化可以包括:

A.在不影响UI效果前提下,压缩界面图片资源,使得界面图片资源所占

空间尽可能小;

保留接口。

再非系统级。

成,而是在编译时就生成odex文件;

B.耗时的操作转移至UI界面显示出来后再执行。

综上,本实施例的快速启动方法在原生Android系统的基础上并没有增加

额外的启动阶段,没有减少或者重排原始的启动次序,改良后的系统维护和

级工作与优化前相比并没有变化,引入的具体优化方法都易于理解、

维护。 移植以及

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本

领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修

改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

2024年5月7日发(作者:崇梓榆)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.7

(22)申请日 2013.06.25

(71)申请人 上海博泰悦臻电子设备制造有限公司

地址 200235 上海市徐汇区天钥桥路30号美罗大厦19楼

(72)发明人 王磊 赵亚立

(74)专利代理机构 上海专利商标事务所有限公司

代理人 陆嘉

(51)

G06F9/445

权利要求说明书 说明书 幅图

(10)申请公布号 CN 104252363 A

(43)申请公布日 2014.12.31

(54)发明名称

基于Android系统的车载系统的快

速启动方法

(57)摘要

本发明提供了一种基于Android系

统的车载系统的快速启动方法,包括:对

原生Android系统的引导程序、内核和用

户域的启动方式进行优化,以使优化后的

启动时间小于原生Android系统的默认启

动时间;以优化后的方式加载并启动所述

引导程序;以优化后的方式加载并启动所

述内核;以优化后的方式加载并启动所述

用户域。本发明能够缩短车载系统的启动

时间,有利于改善用户体验。

法律状态

法律状态公告日

2022-02-25

2018-10-02

2015-04-08

2014-12-31

法律状态信息

专利权人的姓名或者名称、地址

的变更

授权

实质审查的生效

公开

法律状态

专利权人的姓名或者名

称、地址的变更

授权

实质审查的生效

公开

权 利 要 求 说 明 书

1.一种基于Android系统的车载系统的快速启动方法,其特征在于,包括:

对原生Android系统的引导程序、内核和用户域的启动方式进行优化,以使优

以优化后的方式加载并启动所述引导程序;

以优化后的方式加载并启动所述内核;

以优化后的方式加载并启动所述用户域。

2.根据权利要求1所述的方法,其特征在于,对所述引导程序、内核和用户

域的启动方式进行优化包括:根据所述车载系统的软硬件配置对所述引导程

核和用户域的启动方式进行优化。

化后的启动时间小于原生Android系统的默认启动时间;

序、内

3.根据权利要求2所述的方法,其特征在于,根据所述车载系统的软硬件配

裁减所述引导程序中与网络相关的模块;

减小读取区域和uImage区域的空间,使其小于原生Android系

置对所述引导程序的启动方式进行优化包括以下操作中的一项或多项:

统的默认值;

减小MMC驱动中发送命令的延迟时间,使其小于原生Android系统的默认值

4.根据权利要求2所述的方法,其特征在于,对所述引导程序的启动方式进

去除加载所述内核之前的等待时间;

对于同一MMC硬件仅调用一次MMC初始化程序;

将是否进入还原模式的判断方式修改为通过读取预设偏移位置的裸数据来判

5.根据权利要求2所述的方法,其特征在于,根据所述车载系统的软硬件配

置对所述内核的启动方式进行优化包括以下操作

断。

行优化还包括以下操作中的一项或多项:

并与所述车载系统的硬件配置适配。

中的一项或多项:

减小pty设备节点的数量,使其小于原生Android系统的默认值并与所述车载

延迟所述内核中的initcall机制,以将所述内核的多个驱动中的一部分转移至

所述用户域的启动过程进行初始化;

系统的软硬件配置适配;

对电源管理芯片的初始化过程进行优化,以去除与所述车载系统的硬件配置

裁减所述车载系统的硬件配置以外的设备驱动;

裁减所述车载系统未使用的文件系统。

6.根据权利要求2所述的方法,其特征在于,对所述内核的启动方式进行优

7.根据权利要求2所述的方法,其特征在于,根据所述车载系统的软硬件配

删除所述车载系统未使用的原生Android服务;

对预加载的类列表做裁减优化,将所述车载系统未使用的类从所述预加载的

裁减以太网服务;

移除Sensor Manager和Battery Service内部的全部操作并保留接口。

类列表中删除;

置对所述用户域的启动方式进行优化包括以下操作中的一项或多项:

化还包括:去除内核的打印信息。

不相关的部分;

8.根据权利要求2所述的方法,其特征在于,对所述用户域的启动方式进行

将Entropy Service对文件的读写修改为异步的;

将Package Manager Service对配置文件的写操作修改为异步的;

增大垃圾收集的阈值,以减小垃圾收集的次数;

将桌面启动器和系统用户界面设置为优先于其他应用启动;

将文件中对/dev/路径下设备节点权限的修改转移至文件中;

预先在uramdisk中创建挂载点目录,以避免动态创建;

关闭Java本地调用的检查;

压缩所述桌面启动器中的界面图片资源。

优化还包括以下操作中的一项或多项:

说 明 书

技术领域

本发明涉及车载系统的启动技术,尤其涉及一种基于Android系统的车载系统

背景技术

现有的基于Android系统的车载娱乐系统保留了Android系统的诸多优点,例

如良好的可移植性和定制性、丰富的应用软件生态环境等,但同时也一并继

了Android系统开机启动时间过长的缺点。

的快速启动方法。

承遗留

原生的Android系统的开机启动过程如图1所示,启动过程按照引导程序

(bootloader)11、内核(kernel)12和用户域(user space)的顺序先后加

其中用户域的加载启动按照初始化程序/启动脚本(init/)

132、系统服务(System Server)133和桌面启

载启动。

载启动,

131、孵化器(Zygote)

动器(Launcher)134的顺序先后加

其中,用户域的加载启动的详细过程如图2所示,首先加载启动初始化程序/

启动脚本(init/)21,然后启动本地服务22,之后启动Android服务

后加载启动Android应用24。其中,在原生的Android系统中,

rild、netd、媒体(media)、孵化器(zygote)以及其

源管理器(Power Manager)、内容管理

Manager)以及其他

23,最

本地服务22包括

他服务;Android服务包括电

器(Content Manager)、打包器管理器(Packager

服务。

现有的基于Android系统的车载系统的启动时间比较长,例如冷开机时间普遍

都超过30秒。在车载系统领域,这样漫长的开机等待时间给用户使用带来

了不便,

发明内容

导致了非常差的用户体验。

本发明要解决的技术问题是提供一种基于Android系统的车载系统的快速启

动方法,能够缩短车载系统的启动时间,有利于改善用

户体验。

为解决上述技术问题,本发明提供了一种基于Android系统的车载系统的快速

对原生Android系统的引导程序、内核和用户域的启动方式进行优化,以使优

以优化后的方式加载并启动所述引导程序;

以优化后的方式加载并启动所述内核;

以优化后的方式加载并启动所述用户域。

根据本发明的一个实施例,对所述引导程序、内核和用户域的启动方式进行

优化包括:根据所述车载系统的软硬件配置对所述引导程序、内核和用户域

方式进行优化。

化后的启动时间小于原生Android系统的默认启动时间;

启动方法,包括:

的启动

根据本发明的一个实施例,根据所述车载系统的软硬件配置对所述引导程序

裁减所述引导程序中与网络相关的模块;

的启动方式进行优化包括以下操作中的一项或多项:

减小读取区域和uImage区域的空间,使其小于原生Android系

减小MMC驱动中发送命令的延迟时间,使其小于原生Android系统的默认值

根据本发明的一个实施例,对所述引导程序的启动方式进行优化还包括以下

去除加载所述内核之前的等待时间;

对于同一MMC硬件仅调用一次MMC初始化程序;

将是否进入还原模式的判断方式修改为通过读取预设偏移位置的裸数据来判

根据本发明的一个实施例,根据所述车载系统的软硬件配置对所述内核的启

减小pty设备节点的数量,使其小于原生Android系统的默认值并与所述车载

延迟所述内核中的initcall机制,以将所述内核的多个驱动中的一部分转移至

对电源管理芯片的初始化过程进行优化,以去除与所述车载系统的硬件配置

裁减所述车载系统的硬件配置以外的设备驱动;

不相关的部分;

所述用户域的启动过程进行初始化;

系统的软硬件配置适配;

动方式进行优化包括以下操作中的一项或多项:

断。

操作中的一项或多项:

并与所述车载系统的硬件配置适配。

统的默认值;

裁减所述车载系统未使用的文件系统。

根据本发明的一个实施例,对所述内核的启动方式进行优化还包括:去除内

根据本发明的一个实施例,根据所述车载系统的软硬件配置对所述用户域的

删除所述车载系统未使用的Android服务;

对预加载的类列表做裁减优化,将所述车载系统未使用的类从所述预加载的

裁减以太网服务;

移除Sensor Manager和Battery Service内部的全部操作并保留接口。

根据本发明的一个实施例,对所述用户域的启动方式进行优化还包括以下操

将Entropy Service对文件的读写修改为异步的;

将Package Manager Service对配置文件的写操作修改为异步的;

增大垃圾收集的阈值,以减小垃圾收集的次数;

将桌面启动器和系统用户界面设置为优先于其他应用启动;

作中的一项或多项:

类列表中删除;

启动方式进行优化包括以下操作中的一项或多项:

核的打印信息。

将文件中对/dev/路径下设备节点权限的修改转移至文件中;

预先在uramdisk中创建挂载点目录,以避免动态创建;

关闭Java本地调用的检查;

压缩所述桌面启动器中的界面图片资源。

与现有技术相比,本发明具有以下优点:

本发明实施例的基于Android系统的车载系统的快速启动方法中,首先对

Android系统的引导程序、内核和用户域的启动方式进行优化,之后按照常

序,以优化后的方式加载并启动引导程序、内核和用户域,从

善用户体验。

规的顺

而缩短启动时间,改

进一步而言,对于引导程序、内核和用户域的优化可以是根据车载系统的软

附图说明

图1是原生Android系统的启动流程示意图;

图2是原生Android系统的用户域的详细启动流程示意图;

图3是本发明实施例的基于Android系统的车载系统的快速启动方法的流程示

具体实施方式

意图。

硬件配置来进行的,使得优化过程更加有针对性。

下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发

参考图3,本实施例中,基于Android系统的车载系统的快速启动方法包括

步骤S31,对原生Android系统的引导程序、内核和用户域的启动方式进行优

步骤S32,以优化后的方式加载并启动所述引导程序;

步骤S33,以优化后的方式加载并启动所述内核;

步骤S34,以优化后的方式加载并启动所述用户域。

本实施例保留了原生Android系统原有的启动阶段(包括引导程序、内核和用

户域)和顺序不变,但针对车载系统本身的特点对各个启动阶段进行了优化

从而缩短了车载系统的开机启动时间。在一实例中,采用该方

的开机时间降低至13秒。

化,以使优化后的启动时间小于原生Android系统的默认启动时间;

如下步骤:

明的保护范围。

和改良,

法可以使得车载设备

进一步而言,对各个启动阶段的优化包括根据车载系统的软硬件配置进行

首先介绍对于引导程序的优化。

首先可以裁减引导程序中于网络相关的模块。例如在一实例中,车载系统

被配置为无需使用原生Android系统提供的网络,那么可以裁减FTP上传/

相关的模块,还可以裁减网络挂载分区的

优化,以及其他通用的优化。下面对各个启动阶段的具体优化方法进行详细

明。

下载

NFS命令等。

另外,还可以减小读取区域和uImage区域的空间大小,使其

小于原生Android系统的默认值。例如,在一实例中,可以将读取

域和uImage区域这两个区域的空间减小至约2.6M。 区

另外还可以优化MMC驱动性能,减小MMC驱动中发送命令的延迟时间,

使其小于原生Android系统的默认值并与车载系统的硬件配置适配。例如可

10000纳秒减小至1纳秒,示意性的实现代码如下: 以从

另外,还可以去除引导程序启动过程中的延迟等待时间,也就是引导程序

启动过程的结尾至加载内核之前的等待时间。在原生Android系统中,该等

时间通常为3s,本实施例中可以将其设置为0。例如可以通过下述方

式实现:

-#define CONFIG_BOOTDELAY 3 //删除

+#define CONFIG_BOOTDELAY 0 //添加

另外,通过优化,可以对于同一MMC硬件仅调用一次MMC初始化程序

(mmc_init),而原生Android系统在每一次IO之前

化程序。示意性的实现方式如下: 都会调用一次MMC初始

另外,还可以将是否进入还原(recovery)模式的判断方式修改为通过读

取偏移位置的裸数据来判断,而不再通过开机启动读取高速缓存(cache)

里某文件的方式判断是否进入还原模式。示意性的实现方式如下: 分区

下面对内核的启动方式的优化进行详细描述。

首先可以减小pty设备节点的数量,使其小于原生Android系统的默认值并

与所述车载系统的软硬件配置适配。在一实例中,可以将原生Android系统

态分配的256个pty设备节点减小至32。进一步而言,可以通

_count=32来实现。

默认动

过增加启动参数

此外,还可以去除内核的打印信息,例如可以增加启动参数quiet来实现。

另外,还可以延迟内核中的initcall机制,将部分驱动转移至用户域的启动过

另外,还可以对电源管理芯片(PMIC)的初始化过程进行优化,将与车载系

另外,还可以将车载系统的硬件配置以外的设备驱动裁减掉,也就是将车

载系统并未使用的硬件的设备驱动移除。例如可以将驱动INPUT_ISL29023

统的硬件配置不相关的部分跳过。示意性的实现方式如下:

程再触发初始化。

裁 减掉,实现方式可以是:Disable INPUT_ISL29023。另外,可以将没

的LCD驱动裁减掉,例如: 有使用到

e CONFIG_FB_MXC_EPSON_VGA_SYNC_PANEL

e CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL

e CONFIG_FB_MXC_SEIKO_WVGA_SYNC_PANEL

e CONFIG_FB_MXC_SII902X

e CONFIG_FB_MXC_CH7026

e CONFIG_FB_MXC_EINK_PANEL

此外,还可以裁减掉MAX17135,MAG3110,MMA8451驱动。示意性的

Disable MFD_MAX17135,REGULATOR_MAX17135

Disable sensor drivers MAX17135,MAG3110,MMA8451.

此外,还可以将DA9052驱动裁减掉,实现方式如下:

Disable all drivers on DA9052。

此外,还可以将以太网(ethernet)驱动裁减掉,实现方式如下:

Disable all drivers of ethernet。

实现方式如下:

还可以将APM battery驱动裁减掉,实现方式如下:

Remove all APM battery drviers。

还可以将红外(IR)设备相关的设备驱动裁减掉,实现方式如下:

Disable CONFIG_RC_MAP;

Disable CONFIG_IR_RC5_DECODER;

Disable CONFIG_IR_RC6_DECODER;

Disable CONFIG_IR_JVC_DECODER;

Disable CONFIG_IR_SONY_DECODER;

Disable CONFIG_RC_MAP;

Disable CONFIG_VIDEO_IR_I2C。

还可以将所有CAN相关的设备驱动移除,实现方式如下:

Disable CONFIG_CAN,CONFIG_CAN_RAW and CONFIG_CAN_BCM。

还可以将键盘驱动KEYBOARD_GPIO和KEYBOARD_MXC裁减掉,实

Disable KEYBOARD_GPIO and KEYBOARD_MXC。

此外,还可以将电源管理模块DVFS裁减掉。

现方式如下:

另外,还可以将车载系统未使用的文件系统裁减掉,例如可以将文件系统

下面详细介绍用户域启动方式的优化。

首先,可以删除车载系统未使用的原生Android服务。例如,可以采用如下

Headset Observer;

HDMI Observer;

Dock Observer;

Recognition Manager Service;

Vibrator Service;

Backup Service。

另外,可以将Entropy Service中对文件的读写修改为异步的,以防止阻塞。

另外,可以将Package Manager Service对配置文件的写操作修改为异步的,以

此外,还可以取消对/vendor/app目录的扫描。

另外,可以对预加载的类列表进行裁减优化,将车载系统未使用的类从预加

载的类列表中删除,例如:

防止阻塞。

方式删除相关的原生Android服务:

UBIFS模块裁减掉。

.*

libcore.*

.*

ct Http Client

View Core

terface

Bluetooth class;

此外,可以将一些较为耗时的操作从预加载类时执行转移到创建对象时再

此外,还可以调整垃圾收集(GC)的阈值,使其大于原生Android系统的

默认值,以减小垃圾收集的次数。需要说明的是,该调整仅影响预加载类阶

的垃圾收集操作,在预加载类结束后,垃圾收集的阈值将被调回默认

执行。

值。

另外,可以调整用户域中各个应用的启动顺序,首先启动桌面启动器

(launcher)和系统用户界面(systemui),其余的应用(例如电话、拼音输

法等)例如可以延迟2秒后再启动。而在原生Android系统中,上述

都是同时启动的,影响了启动速度。 全部应用

另外还可以对启动脚本()进行优化,具体而言,可以包括如下内

容:

A.删除车载系统不需要的操作,如不需要的环境变量的设置等;

B.将对/dev/下设备节点权限的修改全部移到文件中;

C.预先在uramdisk中创建挂载点目录,而不在启动时动态创建。

针对Package Manager service的优化可以包括:

A.用户(user)版本针对/system/app下的apk应用不再做odex文件的生

B.分阶段扫描apk应用,重要的apk应用优先扫描加载,例如先系统级,

另外,可以裁减掉以太网服务。

另外,还可以移除Sensor Manager和Battery Service内部的所有操作,并

此外,可以关闭Java本地调用(JNI)的检查,实现方式如下:

JNI check off。

对于桌面启动器(launcher)应用的优化可以包括:

A.在不影响UI效果前提下,压缩界面图片资源,使得界面图片资源所占

空间尽可能小;

保留接口。

再非系统级。

成,而是在编译时就生成odex文件;

B.耗时的操作转移至UI界面显示出来后再执行。

综上,本实施例的快速启动方法在原生Android系统的基础上并没有增加

额外的启动阶段,没有减少或者重排原始的启动次序,改良后的系统维护和

级工作与优化前相比并没有变化,引入的具体优化方法都易于理解、

维护。 移植以及

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本

领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修

改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

发布评论

评论列表 (0)

  1. 暂无评论