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

文档序号:8384303阅读:来源:国知局
函数组B’属于任务B,函数组C、函数组C’属于任务C。
[0036]在此,第一份代码中的函数与第二份代码中的函数的函数内容相同,具体的,函数组A与函数组A’的函数内容相同,函数组B与函数组B’的函数内容相同,函数组C与函数组C’的函数内容相同。在本实施例中,为了防止函数调用、运行过程中出错,通常的,函数组A与函数组A’所用的函数名不相同,函数组B与函数组B’所用的函数名不相同,函数组C与函数组C’所用的函数名不相同。但是,函数组A与函数组A’中的函数内容、所实现的功能相同,函数组B与函数组B’中的函数内容、所实现的功能相同,函数组C与函数组C ’中的函数内容、所实现的功能相同。
[0037]在本实施例中,假设初始时,函数组A’在片内内存执行,此时函数组A便不再在片外内存执行,同时,函数组B及函数组C可以在片外内存执行。由此,既能够使得部分函数组在片内内存中执行以提高该函数组的执行速度/效率,又能够使得不能在片内内存中得到执行的函数组也可以被执行。
[0038]在各函数组执行的过程中,往往会出现有函数组需要搬移到片内内存执行的情况,此时,该函数组便会发出搬移到片内内存执行的请求。也即执行步骤SI I,公共控制任务模块接收到到片内内存执行的请求。例如,函数组B需要到片内内存执行,则相应的,公共控制任务模块接收到了函数组B到片内内存执行的请求。
[0039]接着,执行步骤S12,公共控制任务模块获取相关任务的状态,即公共控制任务模块获取函数组A’和函数组B的任务状态(即任务A和任务B),并据此判断相关任务(即任务A和任务B),具体的,判断任务A和任务B是否处于挂起状态。在本实施例中,公共控制任务模块通过获取“本任务是否允许执行的信号量”来获取本任务是否处于挂起状态的信息。也就是说,公共控制任务模块通过获取任务A和任务B是否允许执行的信号量来获取任务A和任务B是否处于挂起状态的信息。
[0040]当公共控制任务模块获取到任务A和任务B均处于挂起状态时,便可倒换两个函数组执行的内存位置,即执行步骤S14。此时,函数组B’在片内内存执行,函数组A便可在片外内存执行;同时,函数组B及函数组A’便不再执行。在此,也可以认为函数组B倒换成函数组B’得到了继续执行,函数组A’倒换成函数组A得到了继续执行,即执行步骤S15:倒换后的两个函数组在新的内存位置继续执行。
[0041]在本实施例中,通过函数指针指向片外执行的函数入口来实现在片外内存执行函数组;通过函数指针指向片内执行的函数入口来实现在片内内存执行函数组。具体的,当函数组在片外内存执行时,通过函数指针指向片外执行的函数组入口予以实现;当函数组在片内内存执行时,通过函数指针指向片内执行的函数组入口予以实现。也就是说,当函数组B’替换函数组B,函数组A替换函数组A’时,函数指针指向片内执行的函数组B’以及片外执行的函数组A,由此实现了函数在片内外执行的替换。
[0042]在本实施例中,当每份代码包括多个函数组时,多个函数组所属的通信网络模式完全相同或者完全不相同或者不完全相同,或者说多个函数组属于一种通信网络模式或者多种通信网络模式。例如,函数组A与函数组A’属于全球移动通信系统(GSM),函数组B与函数组B’属于时分-同步码分多址(TD-SCDMA),函数组C与函数组C’属于长期演进(LTE),由此,当在片内内存执行的函数组发生改变时,也就满足了不同(通信网络)模式下关键代码对于芯片片内内存资源的需求。此外,若函数组A、函数组A’、函数组B、函数组B’、函数组C及函数组C’均属于同一个通信网络模式,则通过上述在片内内存执行的函数的动态替换,能够使得同一模式下不同的业务得到高效地实现。
[0043]优选的,在片内内存执行的函数组属于处于连接状态的主通信网络模式。例如,单待多模手机,在发生模式倒换后,当前的主模式可以申请占用片内内存资源;双卡双待单通手机,当前模式从空闲状态进入连接状态后,进入连接状态的主模式可以申请占用片内内存资源。
[0044]综上可见,在本发明实施例提供的移动终端中关键代码的运行方法及运行系统中,通过当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置,由此能够使得在片内内存执行的函数组发生改变,也即使得部分对片内内存有需求的函数组得以能够在片内内存执行,从而尽量满足关键代码对于芯片片内内存资源的需求,降低关键代码的执行时间,满足高速业务的mips开销。
[0045]上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
【主权项】
1.一种移动终端中关键代码的运行方法,其特征在于,包括: 在片外内存中存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务,其中,第一份代码用于在片外内存执行,第二份代码用于加载到片内内存执行,并且第一份代码中的函数组与第二份代码中的函数组的函数内容相同; 当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置。
2.如权利要求1所述的移动终端中关键代码的运行方法,其特征在于,当每份代码包括多个函数组时,多个函数组所属的通信网络模式完全相同或者完全不相同或者不完全相同。
3.如权利要求2所述的移动终端中关键代码的运行方法,其特征在于,在片内内存执行的函数组属于处于连接状态的主通信网络模式。
4.如权利要求1所述的移动终端中关键代码的运行方法,其特征在于,通过获取“本任务是否允许执行的信号量”来获取本任务是否处于挂起状态的信息。
5.如权利要求1?4中任一项所述的移动终端中关键代码的运行方法,其特征在于,通过函数指针指向片外执行的函数入口来实现在片外内存执行函数组;通过函数指针指向片内执行的函数入口来实现在片内内存执行函数组。
6.一种移动终端中关键代码的运行系统,其特征在于,包括: 片外内存,用以存储两份代码,每份代码包括一个或者多个函数组,每个函数组属于一个任务,其中,第一份代码用于在片外内存执行,第二份代码用于加载到片内内存执行,并且第一份代码中的函数组与第二份代码中的函数组的函数内容相同,以及执行函数组; 公共控制任务模块,用以当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置;及 片内内存,用以执行函数组。
7.如权利要求6所述的移动终端中关键代码的运行系统,其特征在于,当每份代码包括多个函数组时,多个函数组所属的通信网络模式完全相同或者完全不相同或者不完全相同。
8.如权利要求7所述的移动终端中关键代码的运行系统,其特征在于,在片内内存执行的函数组属于处于连接状态的主通信网络模式。
9.如权利要求6所述的移动终端中关键代码的运行系统,其特征在于,所述公共控制任务模块通过获取“本任务是否允许执行的信号量”来获取本任务是否处于挂起状态的信肩、O
10.如权利要求6?9中任一项所述的移动终端中关键代码的运行系统,其特征在于,片外内存通过函数指针指向片外执行的函数入口来实现函数组的执行;片内内存通过函数指针指向片内执行的函数入口来实现函数组的执行。
【专利摘要】本发明提供了一种移动终端中关键代码的运行方法及运行系统,通过当在片内内存执行的函数组所属的任务处于挂起状态、以及在片外内存执行并且请求到片内内存执行的函数组所属的任务处于挂起状态时,倒换两个函数组执行的内存位置,由此能够使得在片内内存执行的函数组发生改变,也即使得部分对片内内存有需求的函数组得以能够在片内内存执行,从而尽量满足关键代码对于芯片片内内存资源的需求,降低关键代码的执行时间,满足高速业务的mips开销。
【IPC分类】H04W8-18
【公开号】CN104703168
【申请号】CN201310671782
【发明人】洪素娟, 曾利浪
【申请人】联芯科技有限公司
【公开日】2015年6月10日
【申请日】2013年12月10日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1