_TEXT、0S_SEC_DDR_TEXT_INIT、0S_SEC_DDR_TEXT_MIN0R 分别为 ddr.text、ddr.1nit.text、ddr.minor, text的段属性。这样,在软件模块加载过程中,通过分析这些待加载段的段属性就可以确定待加载段需要加载到哪个存储区,然后该加载软件模块的装置可以根据该段属性指示的存储区,将该待加载段加载到相应的存储区。
[0040]应理解,本发明实施例以第一存储区为DDR的内存区,该第二存储区为SRAM的内存区进行介绍仅仅是为了示例,而不应对本发明实施例构成任何限制,该第一存储区还可以为Nor闪存器(Nor Flash)等,该第二存储区还可以为二级缓存,三级缓存等,本发明实施例对此不作限制。
[0041]可选地,在本发明实施例中,该待加载段可以为以下中的一种:
[0042]代码段、数据段、堆、栈或BSS段。
[0043]因此,本发明实施例的加载软件模块的方法,能够根据软件模块中的待加载段的使用频率、功耗或内存占用大小确定该待加载段待加载到哪个存储区,因此,能够根据待加载段的属性实现对软件模块中的多个待加载段的分散加载,从而提高芯片的性能和功耗的综合水平。
[0044]图2示出了根据本发明实施例的加载软件模块的装置200的示意性框图,如图2所示,该装置200包括:
[0045]确定模块210,用于根据以下信息中的至少一项,确定该软件模块中的待加载段为第一待加载段或第二待加载段:该待加载段的使用频率、该待加载段的功耗和该待加载段占用的内存大小,该第一待加载段为待加载到第一存储区的待加载段,该第二待加载段为待加载到第二存储区的待加载段;
[0046]加载模块220,用于当该确定模块210确定该待加载段为该第一待加载段时,将该待加载段加载到该第一存储区,或当该确定模块210确定该待加载段为该第二待加载段时,将该待加载段加载到该第二存储区。
[0047]因此,本发明实施例的加载软件模块的装置,能够根据软件模块中的待加载段的使用频率、功耗或内存占用大小确定该待加载段待加载到哪个存储区,因此,能够根据待加载段的属性实现对软件模块中的多个待加载段的分散加载,从而提高芯片的性能和功耗的综合水平。
[0048]可选地,在本发明实施例中,该确定模块210具体用于:
[0049]若该加载段的使用频率小于第一使用频率阈值,或功耗小于第一功耗阈值,或占用的内存大小大于第一内存阈值,确定该待加载段为该第一待加载段;或
[0050]若该待加载段的使用频率不小于该第一使用频率阈值,或功耗不小于该第一功耗阈值,或占用的内存大小不大于该第一内存阈值时,确定该待加载段为该第二待加载段。
[0051]可选地,在本发明实施例中,该装置200还可以包括:
[0052]配置模块,用于给该待加载段配置段属性,该段属性用于指示该待加载段为该第一待加载段或该第二待加载段。
[0053]可选地,在本发明实施例中,该第一存储区可以为DDR的内存区,该第二存储区为SRAM的内存区。
[0054]可选地,在本发明实施例中,该待加载段可以为以下中的一种:代码段、数据段、堆、栈或BSS段。
[0055]因此,本发明实施例的加载软件模块的装置,能够根据软件模块中的待加载段的使用频率、功耗或内存占用大小确定该待加载段待加载到哪个存储区,因此,能够根据待加载段的属性实现对软件模块中的多个待加载段的分散加载,从而提高芯片的性能和功耗的综合水平。
[0056]根据本发明实施例的加载软件模块的装置200可对应于根据本发明实施例的加载软件模块的方法100中的加载软件模块的装置,并且加载软件模块的装置200中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
[0057]如图3所示,本发明实施例还提供了一种加载软件模块的装置300,该装置300包括处理器310、存储器320、总线系统330。其中,处理器310、存储器320通过总线系统330相连,该存储器320用于存储指令,该处理器310用于执行该存储器320存储的指令。其中,该处理器310用于根据以下信息中的至少一项,确定该软件模块中的待加载段为第一待加载段或第二待加载段:该待加载段的使用频率、该待加载段的功耗和该待加载段占用的内存大小,该第一待加载段为加载到第一存储区的待加载段,该第二待加载段为待加载到第二存储区的待加载段;该处理器310还用于在该待加载段为该第一待加载段时,将该待加载段加载到该第一存储区,或在该待加载段为该第二待加载段时,将该待加载段加载到该第二存储区。
[0058]因此,本发明实施例的加载软件模块的装置,能够根据软件模块中的待加载段的使用频率、功耗或内存占用大小确定该待加载段待加载到哪个存储区,因此,能够根据待加载段的属性实现对软件模块中的多个待加载段的分散加载,从而提高芯片的性能和功耗的综合水平。
[0059]可选地,在本发明实施例中,该存储器320还可以用于存储软件程序,该软件程序用于实现本发明实施例的加载软件模块的方法,该处理器310可以用于执行该存储器320中存储的该软件程序,该软件程序用于根据该待加载段的属性将待加载的软件模块中的待加载段分散加载到第一存储区或第二存储区,其中,该第一存储区可以为DDR的内存区,该第二存储区可以为SRAM的内存区。
[0060]应理解,在本发明实施例中,该处理器310可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器310还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0061]该存储器320可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。存储器320的一部分还可以包括非易失性随机存取存储器。例如,存储器320还可以存储设备类型的信息。
[0062]该总线系统330除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统330。
[0063]在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器320,处理器310读取存储器320中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0064]可选地,在本发明实施例中,该处理器310具体用于:
[0065]若该加载段的使用频率小于第一使用频率阈值,或功耗小于第一功耗阈值,或占用的内存大小大于第一内存阈值,确定该待加载段为该第一待加载段;或
[0066]若该待加载段的使用频率不小于该第一使用频率阈值,或功耗不小于该第一功耗阈值,或占用的内存大小不大于该第一内存阈值时,确定该待加载段为该第二待加载段。
[0067]可选地,在本发明实施例中,该处理310还用于:
[0068]给该待加载段配置段属性,该段属性用于指示该待加载段为该第一待加载段或该第二待加载段。
[0069]可选地,在本发明实施例中,该待加载段为以下中的一种:
[0070]代码段、数据段、堆、栈或BSS段。
[0071]因此,本发明实施例的加载软件模块的装置,