一种终端设备的启动方法及装置的制作方法

文档序号:6331731阅读:192来源:国知局
专利名称:一种终端设备的启动方法及装置的制作方法
技术领域
本发明涉及终端设备领域,尤其涉及一种终端设备的启动方法和一种终端设备的 启动装置。
背景技术
目前,Ophone手机所采用的开发平台大多数都是基于Marvell平台,如第一款 上市Ophone采用的开发平台为Marvel 1 PXA935,海信的Ophone手机采用的开发平台为 Marvell PXA 310。在启动该类 Ophone 手机时,Ophone 手机的 CPU (Central processing unit,中央处理器)必须依次运行以下五个软件程序才能成功启动Ophone手机 B00TR0M(B00T Read-Only Memory,启动只读存储器)、0BM(Object Behavior Model,对象行 为模型)、BLOB (Binary Large 0b ject,二进制对象)、Linux内核、应用程序,其中B00TR0M 为CPU中记录运行信息的ROM存储器,0BM为启动引导程序BootLoader的第一级程序,BLOB 为启动引导程序BootLoader的第二级程序,可与用户产生互动程序包括Linux内核和应用 程序,因此,在启动Linux内核之前,必须要依次运行B00TR0M、0BM、BL0B。Marvell平台的0BM实现的功能包括检测硬件信息、初始化硬件;BL0B实现的功 能包括初始化硬件中各模块、设置GPI0(General Purpose Input Output,通用输入/输 出)初始化配置、设置默认CPU频率、下载NandFlash内容等。采用现有的移动终端启动方式,必须要依次运行0BM和BL0B中的代码才能运行 Linux内核,但是0BM和BL0B中的部分代码是重复的,如用于实现初始化的代码,相当于 相同的代码需要重复运行多次,从而导致启动时延较大;并且,本发明人在开发过程中发现 BL0B中的部分功能对应的代码是在运行手机的过程中并不是必须要运行的,如图1所示 的,循环检测串口中是否有数据输入,若有则进入非正常启动模式(如下载模式),否则运 行Linux内核,但是一般情况下在启动过程中串口很少有数据输入,循环检测串口是否有 数据输入需要较长的等待时间,一般情况下需要等待2秒钟,若每次启动时都需要进行循 环检测串口,则使得启动时延更大。

发明内容
本发明提供一种终端设备的启动方法,以缩短终端设备的启动时延,提高启动速度。一种终端设备的启动方法,包括中央处理器CPU运行终端设备中的B00TR0M ;所述CPU运行0BM所包含的功能模块;所述CPU运行BL0B中启动终端设备必须要运行的功能模块;所述CPU启动所述终端设备的系统内核。一种终端设备的启动装置,包括第一运行单元,用于启动终端设备的B00TR0M
第二运行单元,与所述第一运行单元相连接,用于运行0BM所包含的功能模块,和 运行BLOB中启动终端设备必须要运行的功能模块;启动单元,与所述第二运行单元相连接,用于启动所述终端设备的系统内核。本发明实施例中,在运行终端设备中的B00TR0M之后,运行0BM所包含的功能模块 和运行BLOB中启动终端设备必须要运行的功能模块;再启动所述终端设备的系统内核,即 不需要运行0BM和BLOB中重叠的功能模块,且不需要运行BLOB中启动终端设备非必须运 行的功能模块,从而缩短了启动终端设备的时延、提高了启动终端设备的速度。


图1为现有技术中启动终端设备的流程示意图;图2为本发明实施例中启动终端设备的流程示意图;图3为本发明实施例中启动终端设备的方法流程图;图4为本发明实施例启动终端设备所需时延与现有技术启动终端设备所需时延 的对比图;图5为本发明实施例中终端设备的启动装置的结构示意图。
具体实施例方式针对现有技术存在的上述技术问题,本发明实施例提供一种终端设备的启动方 法,该方法包括确定BLOB中与0BM相重叠的部分功能模块、BL0B中启动终端设备必须要 运行的功能模块(所谓必须要运行的功能模块是指若不运行该功能模块则终端设备不能 成功启动)和启动终端设备非必须要运行的功能模块(所谓非必须要运行的功能模块是指 不运行该功能模块也能成功启动终端设备,该非必须运行的功能模块可以在成功启动终端 设备之后再根据具体情况确定是否运行);在启动终端设备时,CPU运行完B00TR0M和0BM 之后,直接运行BL0B中必须要运行的功能模块,并在运行完之后运行系统内核。采用本发 明技术方案,由于不需要运行BL0B中与0BM相重叠的部分功能模块和非必须要运行的功能 模块,因此,在运行完0BM之后,只需要运行BL0B中启动终端设备必须运行的功能模块即可 启动系统内核,从而缩短了启动时延,提高了终端设备的启动速度。较佳地,为进一步提高启动终端设备的速度,缩短启动终端设备的时延,本发明实 施例中,将BL0B中的启动终端设备必须要运行的功能模块移植到0BM中,以便在启动终端 设备时,CPU在运行完B00TR0M和0BM之后直接启动系统内核,不需要再运行BL0B,从而进 一步缩短启动终端设备的时延。下面结合说明书附图对本发明技术方案进行详细的描述。参见图2,为本发明实施例中启动终端设备的方法流程图,该流程包括步骤步骤201、确定出BL0B中与0BM相重叠的部分功能模块、BL0B中启动终端设备必 须要运行的功能模块、BL0B中启动终端设备非必须要运行的功能模块。本发明实施例中,BL0B中与0BM相重叠的部分功能模块可包括硬件初始化模块; BL0B中启动终端设备必须要运行的功能模块可包括GPI0默认配置模块和CPU频率设定模 块;BL0B中启动终端设备非必须要运行的功能模块可包括串口检测模块和NandFlash内容 下载模块。
步骤202、将BLOB中成功启动终端设备必须要运行的功能模块移植到0BM中。步骤203、CPU运行终端设备的B00TR0M。步骤204、CPU运行终端设备的0BM。该步骤中,0BM包含的功能模块硬件信息检测模块、硬件初始化模块、GPI0初始 化配置模块、CPU频率设置模块、端口检测模块。步骤205、CPU启动终端设备的系统内核。较佳地,上述步骤204中运行的功能模块还可包括电池电压检测模块,或/和按 键检测模块,或/和开机流程判断模块,或/和软件甄别启动模块。较佳地,针对现有技术中对开机流程进行判断是兼容前期开发智能终端的代码, 以增强可读性,以便增加功能或问题查找,但是由于对开机流程的判断需要一步一步按顺 序进行判断,因此,该种对开机流程进行判断的方式,需要较长的时延的问题,本发明实施 例为缩短对终端设备的开机流程判断的时延,在B0M中重新编写开机流程判断模块,以优 化代码空间、减小镜像的大小,缩短运行开机流程判断模块所需要的时延。较佳地,为提高终端设备的启动速度、缩短终端设备的启动时延,本发明实施例 中,控制端口检测模块一次性地将终端设备的所有端口(端口包括USB 口、串口等)的状态 检测完毕,以减少每次检测带来较长的等待时延。较佳地,本发明实施例中,当电池和电压检测模块检测不到电池或检测到电压低 于设定阈值时,确定终端设备当前电量不足,并在终端设备的显示屏幕上显示电量不足的 提示信息较佳地,端口检测模块根据检测到的各端口的状态,确定出终端设备是否 需要进入非正常启动模式(非正常流程可包括下载模式、校准模式、清除模式或 MODEM (Modulator/DEModulator,调制/解调)模式等),若需要,则控制终端设备进入非正 常启动模式;若不需要则进入到正常启动流程,并提示运行系统内核的触发条件,如通过按 键启动内核、充电器启动内核或闹钟启动内核等。端口检测模块根据检测到的各端口的状态,确定出终端设备是否需要进入非正常 启动模式,具体为预先设置串口输入与非正常启动模式之间的对应关系,当端口检测模块 检测到串口有数据输入,则可确定终端设备需要进入非正常启动模式,并根据该数据输入 从上述对应关系中确定出与该数据输入相对应的非正常启动模式,并控制终端设备进入到 确定出的非正常启动模式中。采用本发明技术方案,将BL0B中的部分功能模块移植到0BM中,且根据需要还 在0BM中增加了部分功能模块,在启动终端设备时,在运行完B00TR0M和0BM之后直接启 动系统内核,不需要在运行BL0B;并且,虽然在0BM中添加了部分功能模块,增加的空间为 30 % 40 %,而运行时间增加不到10 %,因此,整体而言,采用本发明技术方案提高了启动 终端设备的速度。参见图3,为本发明实施例中判断是否进入非正常启动模式的方法流程图,该流程 基于BL0B中启动终端设备必须要运行的功能模块移植到0BM的方案,包括以下步骤步骤301、CPU运行终端设备的B00TR0M。
步骤302、CPU运行终端设备的0BM。 步骤303、CPU根据0BM中的端口检测模块对各端口状态的检测结果,确定是否需要进入BLOB的非正常启动模式,若是则执行步骤304,否则执行步骤305。步骤304、控制终端设备进入到非正常启动模式中。步骤305、启动终端设备的系统内核。下面以一具体的数据来对本发明技术方案取得的技术效果进行更详细的描述。参见图4,为本发明实施例启动终端设备所需时延与现有技术启动终端设备所需 时延的对比图,图中,柱状体41为现有技术中在启动手机终端的系统内核之前所需要的时 延,该时延包括两部分,一部分是运行0BM所需要的时延(图中用斜线填充的区域)大约为 600毫秒,另一部分是运行BLOB所需要的时延(图中没有用斜线填充的区域)大约为900毫 秒,因此,现有技术中在启动手机终端的系统内核之前大约需要1500毫秒。而柱状体42为 本发明实施例中启动手机终端的系统内核之前所需要的时延,运行0BM所需要的时延(图 中用斜线填充的区域)大约为900毫秒,但是由于不需要运行BL0B,因此,本发明技术方案 启动手机终端的系统内核之前所需要的时延约为900毫秒。对比可知,采用本发明技术方 案来启动终端设备所需要的时延大大低于现有技术中启动终端设备所需要的时延。另外, 若需要判断终端设备是否进入非正常启动模式,则现有技术需要循环检测串口来判断,则 需要耗时约为2秒,而本发明技术方案通过检测各端口状态来确定是否进入正常模式,则 只需要微乎其微的时间,因此,本发明技术方案在判断终端设备是否进入非正常启动模式, 与现有技术相比也缩短了不少时间。基于上述方法相同的构思,本发明实施例还提供一种终端设备的启动装置,该启 动装置的结构如图5所示。参见图5为本发明实施例中终端设备的启动装置的结构示意图,该启动装置包 括第一运行单元51,用于启动终端设备的B00TR0M。第二运行单元52,与第一运行单元51相连接,用于启动终端设备的B0M所包含的 功能模块,和运行BLOB中启动终端设备必须要运行的功能模块。启动单元53,与第二运行单元52相连接,用于启动所述终端设备的系统内核,如 Linux内核。较佳地,启动装置还包括确定单元54,与第二运行单元52相连接,用于确定出BLOB中与所述0BM中相重叠 的功能模块、BLOB中启动终端设备必须要运行的功能模块和非必须要运行的功能模块。较佳地,第二运行单元52运行BL0B中启动终端设备必须要运行的功能模块,具体 为将确定单元54确定出的BL0B中启动终端设备必须要运行的功能模块移植到所述B0M 中,通过运行B0M来运行移植的功能模块。较佳地,第二运行单元52,具体应用为运行0BM中的硬件信息检测模块和硬件初 始化模块;以及运行BL0B中的GPI0默认配置模块和CPU频率设定模块。较佳地,第二运行单元52进一步用于,运行0BM中的端口检测模块,或/和电池电 压检测模块,或/和按键检测模块,或/和开机流程判断模块,或/和软件甄别启动模块。本发明实施例中,将终端设备的BL0B中启动终端设备必须要运行的功能模块移 植到0BM中;在需要启动终端设备时,在启动终端设备中的B00TR0M之后,运行0BM所包含 的功能模块和运行BL0B中启动终端设备必须要运行的功能模块;最后启动所述终端设备
6的系统内核;采用本发明技术方案,不需要运行0BM和BLOB中重叠的功能模块,且不需要运 行BLOB中启动终端设备非必须运行的功能模块,从而缩短了启动终端设备的时延、提高了 启动终端设备的速度。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种终端设备的启动方法,其特征在于,包括中央处理器CPU运行终端设备中的BOOTROM;所述CPU运行OBM所包含的功能模块;所述CPU运行BLOB中启动终端设备必须要运行的功能模块;所述CPU启动所述终端设备的系统内核。
2.如权利要求1所述的方法,其特征在于,在运行BLOB中必须要运行的功能模块之前, 还包括步骤确定出BLOB中与所述0BM中相重叠的功能模块、BLOB中启动终端设备必须要运行的 功能模块和非必须要运行的功能模块。
3.如权利要求2所述的方法,其特征在于,所述CPU运行BLOB中启动终端设备必须要 运行的功能模块,具体为将所述BLOB中启动终端设备必须要运行的功能模块移植到所述0BM中,通过运行0BM 来运行BLOB中启动终端设备必须要运行的功能模块。
4.如权利要求1 3任一项所述的方法,其特征在于,所述0BM包括硬件信息检测模 块和硬件初始化模块;所述BLOB中启动终端设备必须要运行的功能模块包括通用输入/输出GPI0默认配 置模块和CPU频率设定模块。
5.如权利要求4所述的方法,其特征在于,所述0BM还包括端口检测模块,或/和电池电压检测模块,或/和按键检测模块,或/和开机流程判断 模块,或/和软件甄别启动模块。
6.如权利要求5所述的方法,其特征在于,所述B0M包括端口检测模块;所述端口检测模块根据对各端口状态的检测结果,确定是否进入非正常启动模式,并 在确定进入非正常启动模式时,控制终端设备进入相应的非正常启动模式,否则启动所述 终端设备的系统内核。
7.如权利要求5所述的方法,其特征在于,所述B0M包括电池电压检测模块;所述电池电压检测模块在检测不到电池或检测到的电压小于设定的电压阈值时,在所 述终端设备的显示屏中显示表征电量不足的提示信息。
8.—种终端设备的启动装置,包括用于运行终端设备的B00TR0M的第一运行单元,其 特征在于,还包括第二运行单元,与所述第一运行单元相连接,用于运行0BM所包含的功能模块,和运行 BLOB中启动终端设备必须要运行的功能模块;启动单元,与所述第二运行单元相连接,用于启动所述终端设备的系统内核。
9.如权利要求8所述的启动装置,其特征在于,还包括确定单元,与所述第二运行单元相连接,用于确定出BLOB中与所述0BM中相重叠的功 能模块、BLOB中启动终端设备必须要运行的功能模块和分非须要运行的功能模块。
10.如权利要求9所述的启动装置,其特征在于,所述第二运行单元运行BLOB中启动终 端设备必须要运行的功能模块,具体用于将所述确定单元确定出的BLOB中启动终端设备必须要运行的功能模块移植到所述 0BM中,通过运行0BM来运行移植的功能模块。
全文摘要
本发明公开了一种终端设备的启动方法及装置,以缩短启动终端设备的时延、提高启动终端设备的速度。方法为中央处理器CPU运行终端设备中的BOOTROM;运行OBM所包含的功能模块,再运行BLOB中启动终端设备必须要运行的功能模块;最后启动所述终端设备的系统内核。采用本发明技术方案,不需要运行OBM和BLOB中重叠的功能模块,且不需要运行BLOB中启动终端设备非必须运行的功能模块,从而缩短了启动终端设备的时延、提高了启动终端设备的速度。
文档编号G06F9/445GK101923480SQ20101027761
公开日2010年12月22日 申请日期2010年9月8日 优先权日2010年9月8日
发明者左剑, 谢志宇 申请人:青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1