移动终端中关键代码的运行方法及运行系统的制作方法

文档序号:8384303阅读:399来源:国知局
移动终端中关键代码的运行方法及运行系统的制作方法
【技术领域】
[0001]本发明涉及移动通信技术领域,特别涉及一种移动终端中关键代码的运行方法及运行系统。
【背景技术】
[0002]移动通信发展至今,形成了要求多种网络制式共存的格局,如第二代移动通信系统(2G)包括:全球移动通信系统(GSM)、通用分组无线系统(GPRS)、增强数据速率(EDGE);第三代移动通信系统(3G)包括:宽带码分多址(WCDMA)、时分-同步码分多址(TD-SCDMA);下一代移动通信系统包括:长期演进(LTE)、全球微波互接入(WIMAX)。
[0003]由于各地的通信网络建网时间不同,各移动网络的覆盖范围不同,各运营商所提供的服务内容与资费也不相同。因此,支持自动全模的手机,在产品竞争中具备绝对的优势。
[0004]然而,不同模式下的处理都是一个独立的系统,相关的软件处理难以复用;新增的制式还额外增加了模式间的测量、搜索、模式倒换等处理流程。因此在无线接口的数据、协议处理方面,多模终端的代码数量比多个仅支持单模的手机软件总量还要大很多。为了在不同制式下都能有良好的性能表现,在芯片处理速度受限的条件下,各制式均希望能把关键的数据处理代码保存在片内内存,即各模式均希望能抢占处理效率较高的片内内存资源。在芯片尺寸额定的情况下,片内内存空间的数量基本上是确定的。因此,增加片内内存势必会带来芯片成本的增加。
[0005]目前市场上普遍存在多卡多待的产品形态,此多卡多待产品形态的DSP代码总量相对于单卡形态增加了不少,且因为传统方案中代码是以静态的形式存放。因此在芯片的硬件资源(时钟、片内内存等)确定以后,能存放在片内的代码总量不变,部分实时性要求高的代码也被迫挤出了片内内存空间。导致代码的执行时间拉长;大量数据得不到实时处理,终端无法实现高速业务。
[0006]因此,如何既不增加芯片片内内存资源,又能够尽量满足关键代码对于芯片片内内存资源的需求,成了本领域技术人员亟待解决的问题。

【发明内容】

[0007]本发明的目的在于提供一种移动终端中关键代码的运行方法及运行系统,以解决现有技术中,代码以静态的形式存放,部分实时性要求高的代码被迫挤出了片内内存空间,导致代码的执行时间拉长,大量数据得不到实时处理,终端无法实现高速业务的问题。
[0008]为解决上述技术问题,本发明提供一种移动终端中关键代码的运行方法,所述移动终端中关键代码的运行方法包括:
[0009]在片外内存中存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务,其中,第一份代码用于在片外内存执行,第二份代码用于加载到片内内存执行,并且第一份代码中的函数组与第二份代码中的函数组的函数内容相同;
[0010]当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置。
[0011]可选的,在所述的移动终端中关键代码的运行方法中,当每份代码包括多个函数组时,多个函数组所属的通信网络模式完全相同或者完全不相同或者不完全相同。
[0012]可选的,在所述的移动终端中关键代码的运行方法中,在片内内存执行的函数组属于处于连接状态的主通信网络模式。
[0013]可选的,在所述的移动终端中关键代码的运行方法中,通过获取“本任务是否允许执行的信号量”来获取本任务是否处于挂起状态的信息。
[0014]可选的,在所述的移动终端中关键代码的运行方法中,通过函数指针指向片外执行的函数入口来实现在片外内存执行函数组;通过函数指针指向片内执行的函数入口来实现在片内内存执行函数组。
[0015]本发明还提供一种移动终端中关键代码的运行系统,所述移动终端中关键代码的运行系统包括:
[0016]片外内存,用以存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务,其中,第一份代码用于在片外内存执行,第二份代码用于加载到片内内存执行,并且第一份代码中的函数组与第二份代码中的函数组的函数内容相同,以及执行函数组;
[0017]公共控制任务模块,用以当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置;及
[0018]片内内存,用以执行函数组。
[0019]可选的,在所述的移动终端中关键代码的运行系统中,当每份代码包括多个函数组时,多个函数组所属的通信网络模式完全相同或者完全不相同或者不完全相同。
[0020]可选的,在所述的移动终端中关键代码的运行系统中,在片内内存执行的函数组属于处于连接状态的主通信网络模式。
[0021]可选的,在所述的移动终端中关键代码的运行系统中,所述公共控制任务模块通过获取“本任务是否允许执行的信号量”来获取本任务是否处于挂起状态的信息。
[0022]可选的,在所述的移动终端中关键代码的运行系统中,片外内存通过函数指针指向片外执行的函数入口来实现函数组的执行;片内内存通过函数指针指向片内执行的函数入口来实现函数组的执行。
[0023]在本发明提供的移动终端中关键代码的运行方法及运行系统中,通过当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置,由此能够使得在片内内存执行的函数组发生改变,也即使得部分对片内内存有需求的函数组得以能够在片内内存执行,从而尽量满足关键代码对于芯片片内内存资源的需求,降低关键代码的执行时间,满足高速业务的mips开销。
【附图说明】
[0024]图1是本发明实施例的移动终端中关键代码的运行方法的流程示意图;
[0025]图2是本发明实施例的移动终端中关键代码的运行方法中内存状态示意图。
【具体实施方式】
[0026]以下结合附图和具体实施例对本发明提出的移动终端中关键代码的运行方法及运行系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0027]本实施例提供了一种移动终端中关键代码的运行方法,所述移动终端中关键代码的运行方法包括:
[0028]在片外内存中存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务,其中,第一份代码用于在片外内存执行,第二份代码用于加载到片内内存执行,并且第一份代码中的函数组与第二份代码中的函数组的函数内容相同;
[0029]当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置。
[0030]相应的,本实施例还提供了一种移动终端中关键代码的运行系统,所述移动终端中关键代码的运行系统包括:
[0031]片外内存,用以存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务,其中,第一份代码用于在片外内存执行,第二份代码用于加载到片内内存执行,并且第一份代码中的函数组与第二份代码中的函数组的函数内容相同,以及执行函数组;
[0032]公共控制任务模块,用以当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置;及
[0033]片内内存,用以执行函数组。
[0034]具体的,请参考图1和图2,其中,图1为本发明实施例的移动终端中关键代码的运行方法的流程示意图;图2为本发明实施例的移动终端中关键代码的运行方法中内存状态示意图。
[0035]首先,执行步骤SlO:在片外内存中存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务。相应参考图2,在本实施例中,在片外内存中存储了两份代码,分别为第一份代码及第二份代码,其中,第一份代码中包括函数组A、函数组B及函数组C ;第二份代码中包括函数组A’、函数组B’及函数组C’。其中,函数组A、函数组A’属于任务A,函数组B、
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1