实现终端唤醒的方法和装置的制作方法

文档序号:7652282阅读:117来源:国知局
专利名称:实现终端唤醒的方法和装置的制作方法
技术领域
本发明涉及移动终端技术领域,特别涉及一种实现终端唤醒的方法和装置。
背景技术
移动终端在非业务状态,即没有进行通话或数据传输时,也可以说在待机 过程中,为了节电,需要进入睡眠状态,但是由于网络同步和网络寻呼的需要, 终端还需要根据网络配置周期性的唤醒到工作状态。图1示出了终端的状态迁移图。如图所示,终端周期性的在睡眠状态和工作状态间切换,这个周期可以统称为寻呼时间,设为T,其中,设睡眠状态占 用时间为Ts,而工作状态占用时间为Tw。工作状态包括现场恢复、正常工作 和现场保护三个过程,设其占用时间分别为T柳、TW1和TW2,且Tw= TW0+TW1+TW2。终端在睡眠状态时,物理层协议栈运行的基带处理器不需要工 作,因此是关闭的。在终端唤醒过程中,需要唤醒该基带处理器执行网络同步 和系统消息接收等工作。上述的基带处理器一般为数字信号处理器。由于终端的基带处理器在工作状态下的功耗往往是睡眠状态下功耗的数 百倍,所以终端基带处理器在工作状态的时长Tw对终端待机功耗影响十分巨 大。其中,在唤醒过程中,也就是图l所示的现场恢复过程中,基带处理器需 要对相关代码进行重载,而基带处理器重载相关代码的时间决定现场恢复过程 所占用的时间。换句话说,在终端唤醒过程中,缩短基带处理器重载相关代码 所占用的时间可以减少终端基带处理器唤醒时的现场恢复时间,对降低待机功 耗十分重要。现有技术中, 一种实现终端唤醒的方法为基带处理器从现场恢复到进入 工作状态都工作在基频,在现场恢复过程以基频载入相关代码。而基频的频率 相对较低,在需要载入的相关代码量较大时,这些代码的加载时间就会延长, 因此不利于缩短唤醒过程中现场恢复所占用的时间。现有技术中另一种实现终端唤醒的方法称为二次启动(二次boot)方法, 是对前一方法的改进,图2示出了该方法的示意图,其核心是缩短基频状态的 工作时间。该方法需要设计简单的、代码量很小的基带处理器提速和工作代码 解析软件并将其存储于存储器中;在现场恢复过程中,首先加载存储的代码量 很小的基带处理器提速和工作代码解析软件,即进行一次boot,之后, 一次 boot的代码运行,将基带处理器配置到高速工作状态;在高速工作状态加载实 际工作代码,即二次boot,从而缩短了重载工作代码所占用的时间。上述的第二种方案中,第二次boot加载的代码与第一种方案中加载的一 样,是以可下载文件的形式加载和解析的。具体的,可下载文件一般是将可执 行指令的代码,按照实际运行地址段的不同进行块封装。每个封装块都有一个 包括块存放起始地址,块长度,块属性等基本信息组成的块头字段,块头字段 之后是需要加载的机器指令。 一个可下载文件可以包括多个封装的块。基带处 理器的boot过程是解析可下载文件,加载机器指令并引导机器指令运行的过 程。相应地,基带处理器必须逐个解析可下载文件的每一封装块的块头字段, 将对应的块内机器指令拷贝到指定的物理地址中,进而执行这些机器指令。从上述过程中可见,基带处理器必须逐个解析每一个块头字段,进而执行 机器指令,而逐个解析的过程显然是费时的。发明内容本发明的目的是提供一种实现终端唤醒的方法和装置,以减少现有^t支术基 带处理器唤醒过程中所需的时间。为解决上述技术问题,本发明提供一种实现终端唤醒的方法和装置是这样 实现的一种实现终端唤醒的方法,包括预先将用于基带处理器提速和引导业务软件运行的主控软件对应的可下 载文件和用于实现终端业务的业务指令数据块存储在外部存储器中;在终端唤醒过程中,在主控软件的控制下将基带处理器提速,通过直接存储器访问或存储器拷贝方式,直接从外部存储器拷贝业务指令数据块到处理器 内存中并引导该业务指令运行。可下载文件和用于实现终端业务的业务指令数据块存储在外部存储器中由以 下方式实现终端在系统设计时,将主控软件对应的可下载文件和业务指令数据块一同烧录在闪存中;终端在上电开机过程中,基带处理器解析闪存中存储的可下载文件,加载 主控软件,主控软件启动直接存储器访问或通过存储器拷贝的方式将闪存中存 储的业务指令数据块拷贝到外部存储器中备份。所述将主控软件对应的可下载文件和业务指令数据块一同烧录在闪存中 由以下方式实现将主控软件作为一个完整的软件工程进行编i,后生成可下载文件;将主控 软件和业务软件构成的完整的软件工程进行编译,生成可执行代码,并从中分 离出业务软件的机器指令,构成业务指令数据块;将两次编译生成的可下载文件和业务指令数据块一起烧录到闪存中。所述生成可下载文件和业务指令it据块由以下方式实现终端在系统设计时,将处理器内存空间分为两块,其中一块的首地址作为 主控软件存储的首地址,另 一块的首地址作为业务软件存储的首地址;将主控软件加载于处理器内存中主控首地址开始的内存空间中,将业务软 件加载于处理器内存中业务首地址开始的内存空间中;系统在软件编译时,将主控首地址开始的主控软件作为一个完整的软件工 程进行编i奪,生成可下载文件,将主控首地址开始的主控软件和业务首地址内 开始的业务软件作为一个完整的软件工程进行编译,生成可执行代码,并从中 分离出业务软件的机器指令,构成业务指令数据块。所述在终端唤醒过程中,在主控软件的控制下通过直接存储器访问或存储 器拷贝方式,从外部存储器拷贝业务指令数据块到处理器内存中引导该业务指令运行由以下方式实现终端的基带处理器在上电开机过程中,通过运行闪存中存储的主控软件将 基带处理器配置到运行业务指令需要的高频率上;通过存储器存取访问或存储器拷贝从外部存储器拷贝业务指令数据块到 处理器内存中业务首地址开始的内存空间,基带处理器在主控软件的引导下执 行处理器内存中的业务首地址开始的业务指令;所述外部存储器包括外部随机 存储器和闪存。所述基带处理器在主控软件的引导下执行处理器内存中的业务首地址开 始的业务指令由以下方式实现主控软件修改基带处理器的程序指针,使其指向处理器内存中的业务首地址;基带处理器执行处理器内存中业务首地址开始的业务指令。 还包括主控软件维护系统状态机,所述状态机包括工作状态和睡眠状态,在所述将基带处理器配置到运行业务指令需要的高频率上之后查询状态机状态,当查询到系统状态机为工作状态,启动直接存储器访问 或通过存储器拷贝方式,将闪存中的业务指令数据块拷贝到处理器内存中的业 务首地址,并将同样的业务指令数据块从处理器内存拷贝到外部存储器中进行 备份。还包括主控软件维护系统状态机,所述状态机包括工作状态和睡眠状态, 所述系统进入睡眠状态后系统状态机为睡眠状态,在终端唤醒过程中,并在拷 贝业务指令数据块到处理器内存之前还包括当查询到系统状态机为睡眠状态,修改系统状态机到工作状态。一种实现终端唤醒的装置,位于终端中,包括外部存储器、处理器内存、 直接存储器访问控制器和基带处理器,其中,外部存储器用于存储基带处理器提速和引导业务软件运行的主控软件对 应的可下载文件和用于实现终端业务的业务指令数据块;处理器内存用于存储主控软件和业务软件;直接存储器访问控制器用于从外部存储器通过直接存储器访问拷贝业务 指令数据块到处理器内存;基带处理器用于运行主控软件和加载在处理器内存中的业务指令。 所述外部存储器为闪存,终端在系统设计时,该闪存用于存储烧录在其内的主控软件对应的可下载文件和业务指令数据块;终端在上电开机过程中,基带处理器运行闪存中存储的可下载文件,并通过直接存储器访问控制器将闪存中存储的业务指令数据块拷贝到处理器内存中。所述外部存储器包括闪存和随机存储器,其中,终端在系统设计时,所述闪存用于存储烧录在其内的主控软件对应的可下载文件和业务指令数据块;终端在上电开机过程中,随机存储器用于备份由直接存储器访问控制器从 闪存中拷贝的业务指令数据块。所述处理器内存空间分为两块,其中 一块的首地址作为主控软件存储的首 地址,另一块的首地址作为业务软件存储的首地址,其中,处理器内存中主控首地址开始的内存空间用于存储主控软件,处理器内存 中业务首地址开始的内存空间用于存储业务软件。所述基带处理器在上电开机过程中,通过运行外部存储器中存储的主控软 件将基带处理器配置到运行业务指令需要的高频率上;直接存储器访问控制器通过直接存储器访问方式从外部存储器拷贝业务 指令数据块到处理器内存中业务首地址开始的内存空间,基带处理器在主控软 件的引导下运行处理器内存中的业务首地址开始的业务指令。所述的装置,还包括系统状态机,其包括工作状态和睡眠状态,当基带处理器配置到运行业务指令需要的高频率上之后,如果查询到系统 状态机为工作状态,直接存储器存取装置将闪存中的业务指令数据块拷贝到处 理器内存中的业务首地址,并将同样的业务指令数据块从处理器内存拷贝到随 机存储器中进行备份。如果基带处理器查询到系统状态机为睡眠状态,修改系统状态机到工作状 态,直接存储器访问控制器通过直接存储器访问从外部存储器拷贝业务指令数 据块到处理器内存中的业务首地址中,基带处理器运行该业务指令。一种实现终端唤醒的装置,位于终端中,包括外部存储器、处理器内存和 基带处理器,其中,外部存储器存储用于基带处理器提速和引导业务软件运行的主控软件对应的可下载文件和用于实现终端业务的业务指令数据块;处理器内存用于存储主控软件和业务软件;基带处理器用于运行主控软件,通过存储器拷贝方式拷贝业务指令数据块 到处理器内存中并运行该业务指令。所述外部存储器为闪存,终端在系统设计时,该闪存用于存储烧录在其内 的主控软件对应的可下载文件和业务指令数据块;终端在上电开机过程中,基带处理器运行闪存中存储的可下载文件,并通 过存储器拷贝方式将闪存中存储的业务指令数据块拷贝到处理器内存中。所述外部存储器包括闪存和随机存储器,其中,终端在系统设计时,所述闪存用于存储烧录在其内的主控软件对应的可下 载文件和业务指令数据块;终端在上电开机过程中,随机存储器用于备份由基带处理器通过存储器拷 贝方式从闪存中拷贝的业务指令数据块。所述处理器内存空间分为两块,其中 一块的首地址作为主控软件存储的首 地址,另一块的首地址作为业务软件存储的首地址,其中,处理器内存中主控首地址开始的内存空间用于存储主控软件,处理器内存 中业务首地址开始的内存空间用于存储业务软件。所述基带处理器在上电开机过程中,通过运行外部存储器中存储的主控软 件将基带处理器配置到运行业务指令需要的高频率上;基带处理器通过存储器拷贝方式从外部存储器拷贝业务指令数据块到处 理器内存中业务首地址开始的内存空间,基带处理器在主控软件的引导下运行处理器内存中的业务首地址开始的业务指令。所述装置还包括系统状态机,其包括工作状态和睡眠状态, 当基带处理器配置到运行业务指令需要的高频率上之后,如果查询到系统 状态机为工作状态,通过存储器拷贝方式将闪存中的业务指令数据块拷贝到处 理器内存中的业务首地址,并将同样的业务指令数据块从处理器内存拷贝到随 机存储器或同步动态随机存储器中进行备份。如果基带处理器查询到系统状态机为睡眠状态,修改系统状态机到工作状 态,并通过存储器拷贝方式从外部存储器拷贝业务指令数据块到处理器内存中 的业务首地址中,基带处理器运行该业务指令。由以上本发明提供的技术方案可见,本发明将用于实现终端业务的业务指 令数据块存储在外部存储器中,在终端唤醒过程中,在主控软件的控制下通过 直接存储器访问或存储器拷贝方式,直接从外部存储器拷贝业务指令数据块到 处理器内存中并加载该业务指令,并引导业务指令运行,进而基带处理器可以 直接运行该业务指令,省去了文件解析的过程,从而实现终端唤醒过程中业务 软件的快速加载和引导运行,减少了唤醒过程所花费的时间,延长了终端的待 才几时间。


图1为现有技术终端的状态迁移图;图2为现有技术中一种实现终端唤醒的二次启动方法的原理示意图;图3为本发明方法实施例的流程图;图4为本发明方法的一个完整实施例的流程图;图5为本发明装置第一实施例的框图;图6为本发明装置第二实施例的框图。
具体实施方式
本发明提供一种方法和装置,基本思想是将用于基带处理器提速的主控软件对应的可下载文件和用于实现终端业务的业务指令数据块存储在外部存储器中,在终端唤醒过程中,在主控软件的控制下通过直接存储器访问(DMA)或存储器拷贝方式,直接从外部存储器拷贝业务指令数据块到处理器内存中并 加载该业务指令数据块。前面的第二种方案中提到,基带处理器必须逐个解析每一个块头字段,进 而执行机器指令,而逐个解析的过程显然是费时的。特别是读取的机器指令在 进行条件判断的情况更为明显。本领域技术人员知道, 一条机器指令的处理至 少包括指令读取、指令解析和指令运行三个过程。 一般的方式是,在执行第一 条指令时,解析第二条指令,并同步读取第三条指令。则在进行条件判断的情 况下,例如在执行第一条指令时,根据条件判断结果,需要在之后执行的指令 不是第二条和第三条指令,则需要重新取指令。该情况下的条件判断会使解析 过程更加费时和低效。下面介绍本发明实施例提供的实现终端唤醒的方法。为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方 式对本发明作进一步的详细说明。之后,终端在唤醒过程中执行的操作可以如图3中的流程图所示,包括以 下步骤步骤301:预先将用于基带处理器提速和引导业务软件运行的主控软件对 应的可下载文件和用于实现终端业务的业务指令数据块存储在外部存储器中。该步骤是终端在系统设计时,预先将用于基带处理器提速和引导业务软件 运行的主控软件对应的可下载文件和用于实现终端业务的业务指令数据块存 储在外部存储器中。本发明与前面第二种方案类似的,将基带处理器在唤醒过程中需要运行的 软件分为主控软件和业务软件。主控软件用于基带处理器提速和引导业务软件 运行。业务软件用于实现终端业务,如实现终端在待机状态下周期性的寻呼等 工作。这两部分软件的作用与前面第二种方案中的类似。具体的,终端在系统设计时,可以将处理器内的存储空间分为两块。两块存储空间的首地址固定,其中一个为基带处理器上电启动后缺省执行的首地 址,用于存放主控软件代码,该首地址在后续的内容中称为主控首地址。另一 存储空间的首地址设为业务软件执行的首地址,后续称为业务首地址。为保证 基带处理器在上电启动过程中主控软件和业务软件的正常加载,本发明实施例 在系统设计时设定主控软件加载于主控首地址开始的内存空间中,业务软件加 载于业务首地址开始的内存空间中。系统在软件编译时,将主控软件作为一个完整的软件工程进行编译,生成可下载文件;将主控软件和业务软件构成的完整的软件工程进行编译,生成可执行代码,并从中分离出业务软件的机器指令, 构成业务指令数据块。具体的,系统在软件编译时,将主控首地址开始的主控 软件作为一个完整的软件工程进行编译,生成可下载文件,将主控首地址开始 的主控软件和业务首地址内开始的业务软件作为一个完整的软件工程进行编 译,生成可执行代码,并从中分离出业务软件的机器指令,构成业务指令数据 块。通过这种方式,将两次编译生成的可下载文件和业务指令数据块一起烧录到闪存(Flash)中。由于所述生成的可下载文件和业务指令数据块是要长期 保存的,在系统断电的情况下仍然要保留,因此需要存储在Flash中。在终端的基带处理器在上电开机过程中,运行外部Flash存储的用于基带 处理器提速的主控软件,即将基带处理器配置到运行业务指令需要的高频率 上。通过直接存储器存取(Direct Memory Access, DMA)或存储器拷贝方式, 将Flash中的业务指令数据块拷贝到处理器内存中的业务首地址开始的内存空 间中,并将同样的业务指令数据块拷贝到外部存储器中。该次拷贝是对业务指 令数据块进行备份,以备睡眠唤醒时加载。本领域技术人员知道,DMA是可 以实现存储器之间自动成批交换数据、同时尽可能减少CPU干预的输入/输出 方式;同样地,存储器拷贝也可以实现存储器之间的数据交换,存储器拷贝例 如可以是处理器执行的内存拷贝函数。外部存储器例如可以是随机存储器 (Random Access Memory, RAM)等。本领域技术人员知道,业务指令数据 块存储于Flash、 RAM,但是RAM相对于Flash具有速度更快的优势。所述RAM可以包括静态随机存储器(STATIC RAM, SRAM)和动态随机存储器 (Random Access Memory, DRAM)等。业务指令数据块备份完成后,基带处理器执行处理器内存中的业务首地址 开始的业务指令数据块,从而完成上电开机。该步骤可以是主控软件修改基带 处理器的程序指针,使其指向处理器内存中的业务首地址,从而实现基带处理 器执行业务指令。由于存储在外部存储器中的业务指令数据块为可以直接执行的指令的代 码,即可直接执行的机器指令,因此,在后续终端唤醒过程中可以直接读取并 执行这些代码,而不需再经过解析的过程。步骤302:在终端唤醒过程中,在主控软件的控制下将基带处理器提速, 通过直接存储器访问或存储器拷贝方式,直接从外部存储器拷贝业务指令数据 块到处理器内存中并引导该业务指令运行。该步骤是将之前存储在外部存储器内的业务指令数据块通过DMA或存储 器拷贝直接搬运到处理器内存中,进而基带处理器可以直接执行该业务指令。 由于DMA方式或存储器拷贝方式存取速度快,且存取的内容是可以直接运行 的业务指令,即机器指令,从而省去了解析的过程,也就减少了唤醒过程所花 费的时间。为了保证终端能够正常地上电开机执行终端业务,并支持待机处理,主控 软件需要正确地区分终端是上电开机还是待机过程中的睡眠唤醒,因此,这里 还引入系统状态机,由主控软件运行时维护。该系统状态机初始的缺省状态可 以为工作状态,而在系统进入睡眠状态之前将状态机置为睡眠状态。这样,在前面的步骤301中,终端的基带处理器在脱离复位状态过程中, 从外部Flash中启动主控软件并运行,将系统时钟配置到业务状态需要的频率 上,即进行系统提速。然后,查询状态机状态,由于上电开机时缺省为工作状 态,此时查询到系统状态机为工作状态,配置并启动DMA或存储器拷贝,将 Flash中的业务指令数据块拷贝到处理器内存中的业务首地址,并将同样的业 务指令数据块从处理器内存拷贝到外部存储器中进行^f分,以备睡眠唤醒时加载。
在步骤302中,基带处理器是在待机过程中实现唤醒,前面提到系统进入 睡眠状态后系统状态才几为睡眠状态,因此,首先查询到系统状态才几为睡眠状态, 则修改系统状态机到工作状态,启动DMA从外部存储器拷贝业务指令数据块 到处理器内存中的业务首地址中,并加载该业务指令数据块。
以下列举一个完整的实施例加以说明,图4示出了该实施例的流程。
应该指出的是,这里,主控软件对应的可下载文件和业务指令数据块已一 同烧录到Flash中。
如图4所示,为实现终端唤醒,终端执行的流程包括
步骤401:终端上电开机或睡眠唤醒。
步骤402:终端在主控软件的控制下查询系统状态。
由于主控软件维护系统状态机,在终端上电开机时系统状态默认为工作状 态,而在终端睡眠过程中系统状态为睡眠状态。针对不同的系统状态,终端需 要执行不同的操作,因此,终端首先需要在主控软件的控制下查询系统状态。
步骤403:判断当前系统状态是否是工作状态,如果是,执行步骤404; 如果否,执行步骤406。
步骤404:启动直接存储器存取或通过存储器拷贝方式从Flash中拷贝业 务指令数据块到处理器内存单元中的业务首地址,并将该业务指令数据块拷贝 到外部存储器备份。
该步骤是对终端上电开机的过程,由于此时外部存储器中没有备份业务指 令数据块,且需要对业务指令进行首次运行,因此需要通过直接存储器访问 (DMA)或存储器拷贝的方式,从Flash中拷贝业务指令数据块到处理器内存 单元,具体是拷贝到处理器内存单元中的业务首地址,并将该业务指令凄丈据块 拷贝到外部存储器备份。
步骤405:修改程序指针指向处理器内存业务首地址并运行业务指令。
该步骤是基带处理器运行处理器内存中的业务指令。
步骤406:修改系统状态到工作状态。该步骤是针对终端在待机过程中的睡眠唤醒。由于在睡眠过程中系统状态 为睡眠状态,因此在唤醒过程中,需要首先修改系统状态到工作状态。
步骤407:启动直接存储器访问或存储器拷贝方式,从外部存储器中拷贝 业务指令数据块到处理器内存中的业务首地址,并^^改程序指针指向该地址, 运行该业务指令。
该步骤的情况下,之前已经在外部存储器中备份了业务指令数据块,这里 只需要启动DMA或存储器拷贝,将外部存储器中存储的业务指令数据块拷贝 到处理器内存中并执行。具体的,是拷贝到处理器内存中业务首地址开始的内 存空间,并修改程序指针,指向该地址,从而运行该业务指令。
步骤408: l丸行终端业务。
该步骤是终端正常执行业务。
步骤409:关机或进入睡眠状态。
常规地,终端在执行业务之后,或者进入周期性的睡眠状态,或者关机。 由上述完整实施例可见,本实施例将用于实现终端业务的业务指令凄t据块 存储在外部存储器中,在终端唤醒过程中,在主控软件的控制下启动直接存储 器访问或存储器拷贝,直接从外部存储器拷贝业务指令数据块到处理器内存, 实现业务指令加载,并引导业务指令运行,省去了文件解析的过程,从而实现 终端唤醒过程中业务软件的快速加载和? 1导运行,减少了唤醒过程所花费的时 间,延长了终端的待机时间。
以下介绍本发明的装置的第一实施例,图5示出了该实施例的框图,如图 所示
实现终端唤醒的装置,位于终端中,包括外部存储器51、处理器内存52、 直接存储器访问控制器53和基带处理器54,其中,
外部存储器51存储用于基带处理器提速和引导业务软件运行的主控软件 对应的可下载文件和用于实现终端业务的业务指令数据块;
处理器内存52用于存储主控软件和业务指令;
直接存储器访问控制器53用于从外部存储器51通过直接存储器访问拷贝业务指令数据块到处理器内存52;
基带处理器54用于运行主控软件和加载在处理器内存中的业务指令。 所述外部存储器51为闪存,终端在系统设计时,该闪存用于存储烧录在
其内的主控软件对应的可下载文件和业务指令数据块;
终端在上电开机过程中,基带处理器54运行闪存中存储的可下载文件,
并通过直接存储器访问控制器53将闪存中存储的业务指令数据块拷贝到处理
器内存52中。
所述外部存储器51包括闪存511和随机存储器512,其中,
终端在系统设计时,所述闪存用于存储烧录在其内的主控软件对应的可下 载文件和业务指令数据块;
终端在上电开机过程中,随机存储器512用于备份由直接存储器访问控制 器53从闪存511中拷贝的业务指令数据块。
所述处理器内存52空间分为两块,其中一块的首地址作为主控软件存储 的首地址,另一块的首地址作为业务软件存储的首地址,其中,
处理器内存52中主控首地址开始的内存空间用于存储主控软件,处理器 内存52中业务首地址开始的内存空间用于存储业务软件。
所述基带处理器54在上电开机过程中,通过运行外部存储器51中存储的 主控软件将基带处理器54配置到运行业务指令需要的高频率上;
直接存储器访问控制器53通过直接存储器访问方式从外部存储器51拷贝 业务指令数据块到处理器内存52中业务首地址开始的内存空间,基带处理器 54在主控软件的引导下运行处理器内存52中的业务首地址开始的业务指令。
该装置还可以包括系统状态机55,其包括工作状态和睡眠状态,
当基带处理器54配置到运行业务指令需要的高频率上之后,如果查询到 系统状态机55为工作状态,直接存储器存取装置53将闪存511中的业务指令 数据块拷贝到处理器内存52中的业务首地址,并将同样的业务指令数据块从 处理器内存52拷贝到随机存储器或同步动态随机存储器512中进行^f分。
如果基带处理器54查询到系统状态机55为睡眠状态,修改系统状态机55到工作状态,直接存储器访问控制器53通过直接存储器访问从外部存储器 51拷贝业务指令数据块到处理器内存52中的业务首地址中,基带处理器54 运行该业务指令数据块。
以下介绍本发明的装置的第二实施例,图6示出了该实施例的框图,如图 所示
实现终端唤醒的装置,位于终端中,其特征在于,包括外部存储器61、 处理器内存62和基带处理器63,其中,
外部存储器61存储用于基带处理器提速和引导业务软件运行的主控软件 对应的可下载文件和用于实现终端业务的业务指令^t据块;
处理器内存62用于存储主控软件和业务指令;
基带处理器63用于运行主控软件,'通过存储器拷贝方式拷贝业务指令数 据块到处理器内存62中并运行该业务指令。
所述外部存储器61为闪存,终端在系统设计时,该闪存用于存储烧录在 其内的主控软件对应的可下载文件和业务指令数据块;
终端在上电开机过程中,基带处理器63运行闪存中存储的可下载文件, 并通过存储器拷贝方式将闪存中存储的业务指令数据块拷贝到处理器内存62 中。
所述外部存储器61包括闪存611和随机存储器612,其中,
终端在系统设计时,所述闪存611用于存储烧录在其内的主控软件对应的 可下载文件和业务指令数据块;
终端在上电开机过程中,随机存储器612用于备份由基带处理器63通过 存储器拷贝方式从闪存611中拷贝的业务指令数据块。
所述处理器内存62空间分为两块,其中一块的首地址作为主控软件存储 的首地址,另一块的首地址作为业务软件存储的首地址,其中,
处理器内存62中主控首地址开始的内存空间用于存储主控软件,处理器 内存62中业务首地址开始的内存空间用于存储业务软件。
所述基带处理器63在上电开机过程中,通过运行外部存储器61中存储的主控软件将基带处理器63配置到运行业务指令需要的高频率上;
基带处理器63通过存储器拷贝方式从外部存储器61拷贝业务指令数据块 到处理器内存62中业务首地址开始的内存空间,基带处理器63在主控软件的 引导下运行处理器内存62中的业务首地址开始的业务指令。
所述装置还可以包括系统状态机64,其包括工作状态和睡眠状态, 当基带处理器63配置到运行业务指令需要的高频率上之后,如果查询到 系统状态机64为工作状态,通过存储器拷贝方式将闪存611中的业务指令数 据块拷贝到处理器内存62中的业务首地址,并将同样的业务指令数据块从处 理器内存62拷贝到随机存储器或同步动态随机存储器612中进行备份。
如果基带处理器63查询到系统状态机64为睡眠状态,修改系统状态机 64到工作状态,并通过存储器拷贝方式从外部存储器61拷贝业务指令数据块 到处理器内存62中的业务首地址中,基带处理器63运行该业务指令。
由以上实施例可见,用于实现终端业务的业务指令数据块存储在外部存储 器中,在终端唤醒过程中,在主控软件的控制下启动直接存储器存取或存储器 拷贝,从外部存储器拷贝业务指令数据块到处理器内存中并加载该业务指令数 据块,从而可以直接运行该业务指令数据块,即机器指令,省去了文件解析的 过程,从而实现终端唤醒过程中业务软件的快速加载和引导运行,减少了唤醒 过程所花费的时间,延长了终端的待机时间。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多 变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化 而不脱离本发明的精神。
权利要求
1、 一种实现终端唤醒的方法,其特征在于,包括预先将用于基带处理器提速和引导业务软件运行的主控软件对应的可下 载文件和用于实现终端业务的业务指令数据块存储在外部存储器中;在终端唤醒过程中,在主控软件的控制下将基带处理器提速,通过直接存 储器访问或存储器拷贝方式,直接从外部存储器拷贝业务指令数据块到处理器 内存中并引导该业务指令运行。
2、 如权利要求l所述的方法,其特征在于,所述预先将用于基带处理器 提速和引导业务软件运行的主控软件对应的可下载文件和用于实现终端业务 的业务指令数据块存储在外部存储器中由以下方式实现终端在系统设计时,将主控软件对应的可下载文件和业务指令数据块一同 烧录在闪存中;终端在上电开机过程中,基带处理器解析闪存中存储的可下载文件,加载储的业务指令数据块拷贝到外部存储器中备份。
3、 如权利要求2所述的方法,其特征在于,所述将主控软件对应的可下 载文件和业务指令数据块一同烧录在闪存中由以下方式实现将主控软件作为一个完整的软件工程进行编译后生成可下载文件;将主控 软件和业务软件构成的完整的软件工程进行编译,生成可执行代码,并从中分 离出业务软件的机器指令,构成业务指令数据块;将两次编译生成的可下载文件和业务指令数据块一起烧录到闪存中。
4、 如权利要求3所述的方法,其特征在于,所述生成可下载文件和业务 指令H据块由以下方式实现终端在系统设计时,将处理器内存空间分为两块,其中一块的首地址作为 主控软件存储的首地址,另一块的首地址作为业务软件存储的首地址;将主控软件加载于处理器内存中主控首地址开始的内存空间中,将业务软 件加载于处理器内存中业务首地址开始的内存空间中;系统在软件编译时,将主控首地址开始的主控软件作为 一个完整的软件工程进行编译,生成可下载文件,将主控首地址开始的主控软件和业务首地址内 开始的业务软件作为一个完整的软件工程进行编译,生成可执行代码,并从中 分离出业务软件的机器指令,构成业务指令数据块。
5、 如权利要求4所述的方法,其特征在于,所述在终端唤醒过程中,在 主控软件的控制下通过直接存储器访问或存储器拷贝方式,从外部存储器拷贝业务指令数据块到处理器内存中引导该业务指令运行由以下方式实现终端的基带处理器在上电开机过程中,通过运行闪存中存储的主控软件将基带处理器配置到运行业务指令需要的高频率上;通过存储器存取访问或存储器拷贝从外部存储器拷贝业务指令数据块到处理器内存中业务首地址开始的内存空间,基带处理器在主控软件的引导下执行处理器内存中的业务首地址开始的业务指令;所述外部存储器包括外部随机存储器和闪存。
6、 如权利要求5所述的方法,其特征在于,所述基带处理器在主控软件 的引导下执行处理器内存中的业务首地址开始的业务指令由以下方式实现主控软件修改基带处理器的程序指针,使其指向处理器内存中的业务首地址;基带处理器执行处理器内存中业务首地址开始的业务指令。
7、 如权利要求6所述的方法,其特征在于,还包括主控软件维护系统状 态机,所述状态机包括工作状态和睡眠状态,在所述将基带处理器配置到运行 业务指令需要的高频率上之后查询状态机状态,当查询到系统状态机为工作状态,启动直接存储器访问 或通过存储器拷贝方式,将闪存中的业务指令数据块拷贝到处理器内存中的业 务首地址,并将同样的业务指令数据块从处理器内存拷贝到外部存储器中进行 备份。
8、 如权利要求7所述的方法,其特征在于,还包括主控软件维护系统状 态机,所述状态机包括工作状态和睡眠状态,所述系统进入睡眠状态后系统状 态机为睡眠状态,在终端唤醒过程中,并在拷贝业务指令数据块到处理器内存之前还包括当查询到系统状态机为睡眠状态,修改系统状态机到工作状态。
9、 一种实现终端唤醒的装置,位于终端中,其特征在于,包括外部存储器(51)、处理器内存(52)、直接存储器访问控制器(53)和基带处理器(54), 其中,外部存储器(51 )用于存储基带处理器提速和引导业务软件运行的主控软 件对应的可下载文件和用于实现终端业务的业务指令数据块; 处理器内存(52)用于存储主控软件和业务软件;直接存储器访问控制器(53 )用于从外部存储器(51)通过直接存储器访 问拷贝业务指令数据块到处理器内存(52);基带处理器(54)用于运行主控软件和加载在处理器内存中的业务指令。
10、 如权利要求9所述的装置,其特征在于,所述外部存储器(51)为闪 存,终端在系统设计时,该闪存用于存储烧录在其内的主控软件对应的可下载 文件和业务指令数据块;终端在上电开机过程中,基带处理器(54 )运行闪存中存储的可下载文件, 并通过直接存储器访问控制器(53 )将闪存中存储的业务指令数据块拷贝到处 理器内存(52)中。
11、 如权利要求9所述的装置,其特征在于,所述外部存储器(51)包括 闪存(511)和随机存储器(512),其中,终端在系统设计时,所述闪存(511)用于存储烧录在其内的主控软件对 应的可下载文件和业务指令数据块;终端在上电开机过程中,随机存储器(512)用于备份由直接存储器访问 控制器(53)从闪存(511)中拷贝的业务指令数据块。
12、 如权利要求9所述的装置,其特征在于,所述处理器内存(52)空间 分为两块,其中一块的首地址作为主控软件存储的首地址,另一块的首地址作 为业务软件存储的首地址,其中,处理器内存(52)中主控首地址开始的内存空间用于存储主控软件,处理器内存(52)中业务首地址开始的内存空间用于存储业务软件。
13、 如权利要求12所述的装置,其特征在于,所述基带处理器(54)在 上电开机过程中,通过运行外部存储器(51)中存储的主控软件将基带处理器(54)配置到运行业务指令需要的高频率上;直接存储器访问控制器(53 )通过直接存储器访问方式从外部存储器(51) 拷贝业务指令数据块到处理器内存(52)中业务首地址开始的内存空间,基带 处理器(54)在主控软件的引导下运行处理器内存(52)中的业务首地址开始 的业务指令。
14、 如权利要求11所述的装置,还包括系统状态机(55),其包括工作状 态和睡眠状态,当基带处理器(54)配置到运行业务指令需要的高频率上之后,如果查询 到系统状态机(55)为工作状态,直接存储器存取装置(53)将闪存(511) 中的业务指令数据块拷贝到处理器内存(52)中的业务首地址,并将同样的业 务指令数据块从处理器内存(52)拷贝到随机存储器(512)中进行备份。如果基带处理器(54)查询到系统状态机(55)为睡眠状态,修改系统状 态机(55 )到工作状态,直接存储器访问控制器(53 )通过直接存储器访问从 外部存储器(51)拷贝业务指令数据块到处理器内存(52 )中的业务首地址中, 基带处理器(54)运行该业务指令。
15、 一种实现终端唤醒的装置,位于终端中,其特征在于,包括外部存储 器(61)、处理器内存(62)和基带处理器(63),其中,外部存储器(61 )存储用于基带处理器提速和引导业务软件运行的主控软 件对应的可下载文件和用于实现终端业务的业务指令数据块; 处理器内存(62)用于存储主控软件和业务软件;基带处理器(63 )用于运行主控软件,通过存储器拷贝方式拷贝业务指令 数据块到处理器内存(62)中并运行该业务指令。
16、 如权利要求15所述的装置,其特征在于,所述外部存储器(61)为 闪存,终端在系统设计时,该闪存用于存储烧录在其内的主控软件对应的可下载文件和业务指令数据块;终端在上电开机过程中,基带处理器(63 )运行闪存中存储的可下载文件, 并通过存储器拷贝方式将闪存中存储的业务指令数据块拷贝到处理器内存 (62)中。
17、 如权利要求15所述的装置,其特征在于,所述外部存储器(61)包 括闪存(611)和随机存储器(612),其中,终端在系统设计时,所述闪存(611)用于存储烧录在其内的主控软件对 应的可下载文件和业务指令数据块;终端在上电开机过程中,随机存储器(612 )用于备份由基带处理器(63 ) 通过存储器拷贝方式从闪存(611)中拷贝的业务指令数据块。
18、 如权利要求15所述的装置,其特征在于,所述处理器内存(62)空 间分为两块,其中一块的首地址作为主控软件存储的首地址,另一块的首地址 作为业务软件存储的首地址,其中,处理器内存(62)中主控首地址开始的内存空间用于存储主控软件,处理 器内存(62)中业务首地址开始的内存空间用于存储业务软件。
19、 如权利要求18所述的装置,其特征在于,所述基带处理器(63)在 上电开机过程中,通过运行外部存储器(61 )中存储的主控软件将基带处理器(63 )配置到运行业务指令需要的高频率上;基带处理器(63 )通过存储器拷贝方式从外部存储器(61 )拷贝业务指令 数据块到处理器内存(62)中业务首地址开始的内存空间,基带处理器(63) 在主控软件的引导下运行处理器内存(62)中的业务首地址开始的业务指令。
20、 如权利要求18所述的装置,还包括系统状态机(64),其包括工作状 态和睡眠状态,当基带处理器(63)配置到运行业务指令需要的高频率上之后,如果查询 到系统状态机(64)为工作状态,通过存储器拷贝方式将闪存(611)中的业 务指令数据块拷贝到处理器内存(62)中的业务首地址,并将同样的业务指令 数据块从处理器内存(62)拷贝到随机存储器或同步动态随机存储器(612)中进行备份。如果基带处理器(63)查询到系统状态机(64)为睡眠状态,修改系统状 态机(64 )到工作状态,并通过存储器拷贝方式从外部存储器(61)拷贝业务 指令数据块到处理器内存(62)中的业务首地址中,基带处理器(63)运行该 业务指令。
全文摘要
本发明提供一种实现终端唤醒的方法,包括预先将用于基带处理器提速和引导业务软件运行的主控软件对应的可下载文件和用于实现终端业务的业务指令数据块存储在外部存储器中;在终端唤醒过程中,在主控软件的控制下将基带处理器提速,通过直接存储器访问或存储器拷贝方式,直接从外部存储器拷贝业务指令数据块到处理器内存中并引导该业务指令运行。本发明还提供实现终端唤醒的装置。利用本发明,基带处理器可以直接运行处理器内存中存储的业务指令数据块,即机器指令,省去了解析的过程,从而实现终端唤醒过程中业务软件的快速加载和引导运行,减少了唤醒过程所花费的时间,延长了终端的待机时间。
文档编号H04M1/73GK101312570SQ20071009945
公开日2008年11月26日 申请日期2007年5月21日 优先权日2007年5月21日
发明者杰 何 申请人:大唐移动通信设备有限公司;上海大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1