掌桥专利:专业的专利平台
掌桥专利
首页

存储架构下的软件存储方法

文献发布时间:2023-06-19 11:32:36


存储架构下的软件存储方法

技术领域

本申请涉及通信技术领域,特别是涉及一种存储架构下的软件存储方法、装置、计算机设备和存储介质。

背景技术

随着通信技术的发展,为了缩短产品开发周期,简化用户对产品的开发流程,出现了Opencpu(开放式计算机系统)架构,在此架构下,用户及其子用户可以共同合作开发同一产品的各个子功能。

用户及其子用户基于当前的Opencpu架构,在同一套开发环境中开发同一产品的各个子功能后,独立烧录进非易失性存储空间后,只能随系统择机加载运行。

发明内容

基于此,有必要针对上述技术问题,提供一种存储架构下的软件存储方法、装置、计算机设备和存储介质。

一种存储架构下的软件存储方法,所述方法包括:

获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包;

将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域;

对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译,在编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。

在其中一个实施例中,所述将所述应用软件包中的静态变量存储于对应的静态存储区域,包括:

基于各所述应用软件包中全局变量的大小,将所述应用软件包中的静态变量存储于对应的静态存储区域。

在其中一个实施例中,所述将所述固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处,包括:

将所述固件软件包烧录进非易失性存储空间,基于所述固件软件包中的主固件程序,确定所述非易失性存储空间中所述应用软件包烧录进所述非易失性存储空间时的起始地址;

基于所述起始地址,以及各所述应用软件包的大小,确定所述非易失性存储空间的各所述应用软件包的起始地址,将所述应用软件包烧录进非易失性存储空间中的对应位置处。

一种基于实时操作系统的独立应用的运行方法,所述独立应用基于如权利要求1-3所述的存储架构运行,所述基于实时操作系统的独立应用的运行方法,包括:

在实时操作系统和主固件程序初始化完成之后,检测是否存在有第一独立应用,当检测到存在有第一独立应用时,加载运行所述第一独立应用;

当基于所述第一独立应用加载运行之后,检测是否有其它的独立应用存在,当存在有其它的独立应用时,调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

在其中一个实施例中,在实时操作系统和主固件程序初始化完成之后,检测是否存在有第一独立应用的步骤,包括:

在实时操作系统和主固件程序初始化完成之后,查找非易失性存储空间的地址对应的非易失性存储空间中的应用软件包;

基于所述应用软件包的头部信息,判断所述应用软件包中的第一独立应用是否有效;

当基于头部信息确定所述第一独立应用有效时,则表示存在有第一独立应用。

在其中一个实施例中,所述调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用,包括:

基于所述加载运行的第一独立应用,由所述第一独立应用调用所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用;

当所述第一独立应用加载运行之后,由所述主固件程序调用所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

在其中一个实施例中,所述加载运行所述其它的独立应用,包括:

基于所述其它的独立应用对应的应用软件包的存储地址,依次加载运行所述其它的独立应用。

一种存储架构下的软件存储装置,所述装置包括:

软件包处理模块,用于获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包;

第一存储区域处理模块,用于将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域;

编译模块,用于对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译;

第二存储区域处理模块,用于在处理模块编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。

一种基于实时操作系统的独立应用的运行装置,所述装置包括:

初始化模块,用于实时操作系统和主固件程序的初始化;

独立应用处理模块,用于在初始化模块之后,检测是否存在有第一独立应用,当检测到存在有第一独立应用时,加载运行所述第一独立应用;当基于所述第一独立应用加载运行完成之后,检测是否有其它的独立应用存在,当存在有其它的独立应用时,调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述存储架构下的软件存储方法、装置、计算机设备和存储介质,在获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包;将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域;对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译,在编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。其中,通过将固件软件包、应用软件包存储于非易失性存储空间的不同位置处,为后续加载运行实现相应的产品功能提供基础。

附图说明

图1为一个实施例中存储架构下的软件存储方法的流程示意图;

图2为一个实施例中存储架构下的软件存储方法的静态存储区域划分架构图;

图3为一个实施例中存储架构下的软件存储方法的非易失性存储空间划分架构图;

图4为一个实施例中基于实时操作系统的独立应用的运行方法的流程示意图;

图5为另一个实施例中基于实时操作系统的独立应用的运行方法的流程示意图;

图6为一个实施例中存储架构下的软件存储装置的结构框图;

图7为一个实施例中基于实时操作系统的独立应用的运行装置的结构框图;

图8为一个实施例中计算机设备的内部结构图;

图9为另一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的存储架构下的软件存储方法,可以应用于终端中。其中,终端获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包;将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域;对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译,在编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,可选的,上述方法也可以应用于服务器中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图1所示,提供了一种存储架构下的软件存储方法,以该方法应用于终端为例进行说明,包括以下步骤:

步骤102,获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包。

其中,主固件程序是指包括有编译脚本、库文件等的底层开发程序,用户以及用户的子用户可以基于主固件程序中的编译脚本和库文件,开发相应的功能,也可以直接调用主固件程序的应用程序编程接口,直接实现相应的功能。主固件程序存储于固件软件包中。其中,第一独立应用、其它各独立应用是指用户基于主固件程序中提供的编译脚本、库文件等开发出来的应用,第一独立应用可以用于和主固件程序建立通信,从而借用主固件程序进行拨号上网传输数据,当然,也可以取决于用户自己产品实际应用需求来决定第一独立应用的功能,第一独立应用和其它各独立应用在各自的PC环境下分别编译生成对应的应用软件包。

在其中一个实施例中,用户需要生产一款带有音频、蓝牙和摄像头的产品,可以选择将音频、蓝牙以及摄像头等子功能交给用户的各子用户进行开发,其中,各个厂商在各自的开发环境下,对各子功能进行开发,然后烧录进各自的开发板,待各个子功能均开发调试完毕,生成对应的应用软件包。将主固件软件包、应用软件包发送给最终的生产厂商,由生产厂商基于发送过来的主固件软件包、应用软件包进行处理。

步骤104,将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域。

其中,应用软件包中存储有第一独立应用和其它各独立应用的应用代码,在应用代码里会定义一部分静态变量存储于静态存储区域,例如,静态变量可以为全局变量或其他存储在静态存储区域的数据,同时也会将动态变量存储于动态存储区域,动态变量可以为局部变量或者指针变量等。

步骤106,对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译,在编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。

其中,基于存储于静态存储区域的静态变量以及存储于动态存储区域的动态变量,对静态存储区域中的静态变量、动态存储区域中的动态变量进行编译之后,如果编译成功,则可以将主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。

上述存储架构下的软件存储方法,通过获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包;将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域;对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译,在编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。从而通过上述方法能够使得固件软件包和应用软件包村烧录进同一非易失性存储空间的不同位置处,为后续加载运行实现相应的产品功能提供基础。

在其中一个实施例中,所述将所述应用软件包中的静态变量存储于对应的静态存储区域,包括:

基于各所述应用软件包中全局变量的大小,将所述应用软件包中的静态变量存储于对应的静态存储区域。

其中,第一独立应用和其它的独立应用中的全局变量,在编译期间会计算各个对应的全局变量的大小,基于应用软件包中全局变量的大小,可以将各应用软件包中的静态变量存储在静态存储区域相应地址空间内。

在其中一个实施例中,获取所述固件软件包以及所述应用软件包之后,将所述固件软件包以及所述应用软件包烧录进非易失性存储空间中之前,包括:

基于各所述应用软件包中全局变量的大小,将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域。

其中,如图2所示,为第一独立应用和其它的独立应用静态存储区域划分架构图,其中,第一独立应用和其它各独立应用在各自的PC环境下分别编译生成对应的应用软件包,应用软件包中存储有第一独立应用和其它各独立应用的应用代码,在应用代码里会定义一部分静态变量存储于静态存储区域,例如,静态变量可以为全局变量或其他存储在静态存储区域的数据,同时也会将动态变量存储于动态存储区域,动态变量可以为局部变量或者指针变量等。其中,第一独立应用和其它的独立应用的全局变量均对应有相应的大小,基于应用软件包中全局变量的大小,可以将各应用软件包中的静态变量存储在静态存储区域相应地址空间内。通过上述方法可以使得第一独立应用以及其它各独立应用编译全局变量存储在各自静态存储空间互不影响。

在其中一个实施例中,所述将所述固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处,包括:

将所述固件软件包烧录进非易失性存储空间,基于所述固件软件包中的主固件程序,确定所述非易失性存储空间中所述应用软件包烧录进所述非易失性存储空间时的起始地址;

基于所述起始地址,以及各所述应用软件包的大小,确定所述非易失性存储空间的各所述应用软件包的起始地址,将所述应用软件包烧录进非易失性存储空间中的对应位置处。

其中,如图3所示,为固件软件包和应用软件包烧录进非易失性存储空间中的架构划分图,首先将固件软件包烧录进非易失性存储空间中,固件软件包中存储有主固件程序,图3中的application(应用)区即为固件软件包所处的位置,其中,可以通过固件软件包中的主固件程序确定非易失性存储空间中应用软件包烧录进非易失性存储空间时的起始地址,确定起始地址后,即可将应用软件包烧录进非易失性存储空间的起始地址处。其中,可以基于应用软件包的大小以及起始地址,划分非易失性存储空间,将应用软件包烧录进对应的非易失性存储空间。

其中,各个厂商在各自的编译环境下,对各子功能进行开发,然后编译烧录进各自的开发板,待各个子功能均开发调试完毕,生成对应的应用软件包。将主固件软件包、应用软件包发送给最终的生产厂商,由生产厂商进行烧录运行。从而可以使得市场上一些用户及其子用户各自独立开发应用,而不用在一套开发环境里开发,这样不同用户间的软件代码可以很好的保密,不会因为共享一套软件导致的各个公司开发的软件泄密等问题。

在其中一个实施例中,如图4所示,提供了一种基于实时操作系统的独立应用的运行方法,以该方法应用于终端中为例进行说明,包括以下步骤:

步骤402,在实时操作系统和主固件程序初始化完成之后,检测是否存在有第一独立应用,当检测到存在有第一独立应用时,加载运行所述第一独立应用。

其中,实时操作系统按给定顺序执行命令并管理系统资源,当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行,具有提供及时响应和高可靠性是其主要特点。

其中,实时操作系统是相对于分时操作系统而言的,常用的windows(微软视窗)操作系统等属于分时操作系统,分时操作系统基于划分好的时间片进行工作,在执行完某一个时间片内的任务之前,不会响应其它的任务。而实时操作系统会注重各个任务的优先级,当优先级高的任务发出执行请求时,即便正在执行任务中,也会立即执行优先级更高的任务,例如,一款待开发的产品可以同时包括有蓝牙、音频等功能,在实时操作系统中,可以通过设置蓝牙、音频的优先级,基于设置的顺序实现相应的功能。

其中,主固件程序是指包括有编译脚本、库文件等的底层开发程序,用户以及用户的子用户可以基于主固件程序中的编译脚本和库文件,开发相应的功能,也可以直接调用主固件程序的应用程序编程接口,直接实现相应的功能。

其中,第一独立应用是指用户基于主固件程序中提供的编译脚本、库文件等开发出来的应用,第一独立应用可以用于和主固件程序建立通信,从而借用主固件程序进行拨号上网传输数据,当然,也可以取决于用户自己产品实际应用需求来决定第一独立应用的功能。

步骤404,当基于所述第一独立应用加载运行之后,检测是否有其它的独立应用存在,当存在有其它的独立应用时,调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

其中,当第一独立应用加载运行之后,会检测是否还有其它的独立应用,当检测到有其它的独立应用存在时,调用启动其它独立应用的应用程序编程接口,加载运行其它的独立应用。

在其中一个实施例中,用户需要开发一款产品,产品中需要用到音频,蓝牙和摄像头这些子功能,这些子功能均可交给用户的子用户实现,第一独立应用可以为用于与主固件程序建立通信的应用,用户的子用户基于各自的开发环境,分别编译开发相应的功能,并将调试完成的应用代码生成对应的应用软件包,将应用软件包均发送给最终的生产厂商烧录后加载运行以达到相应的功能。

上述基于实时操作系统的独立应用的运行方法中,在实时操作系统和主固件程序初始化完成之后,检测是否存在有第一独立应用,当检测到存在有第一独立应用时,加载运行所述第一独立应用;当基于所述第一独立应用加载运行之后,检测是否有其它的独立应用存在,当存在有其它的独立应用时,调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。通过上述方法可以使得第一独立应用和其它各个独立应用在实时操作系统的环境下,依次加载运行,从而实现一套产品的各个功能。

在其中一个实施例中,在实时操作系统和主固件程序初始化完成之后,检测是否存在有第一独立应用的步骤,包括:

在实时操作系统和主固件程序初始化完成之后,查找所述非易失性存储空间的地址对应的非易失性存储空间中的应用软件包;

基于所述应用软件包的头部信息,检验所述应用软件包中的第一独立应用是否有效;

当基于头部信息确定所述第一独立应用有效时,则表示存在有第一独立应用。

其中,在第一独立应用和其它各独立应用编译调试完成之后,会生成对应的应用软件包,应用软件包对应有头部信息,在检测是否存在有第一独立应用时,可以通过检测对应的应用软件包的头部信息,基于头部信息,判断应用软件包中的第一独立应用是否有效,当基于头部信息确定应用软件包有效时,则表示存在有第一独立应用。

其中一个实施例中,所述调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用,包括:

基于所述加载运行的第一独立应用,由所述第一独立应用调用所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用;

其中一个实施例中,所述调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用,包括:

当所述第一独立应用加载运行之后,由所述主固件程序调用所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

其中,当第一独立应用加载运行之后,可以通过第一独立应用调用启动其它的独立应用的应用程序编程接口,加载运行其它的独立应用,也可以通过主固件程序调用启动其它的独立应用的应用程序编程接口,具体的可以由用户自行选择。

在其中一个实施例中,用户仅允许其它的独立应用与第一独立应用进行通信,则其它独立应用的编译环境里不会有任何关于主固件程序的应用程序编程接口信息,其它的独立应用的应用程序编程接口完全由第一独立应用提供,此时用户及其子用户或供应商之间彼此协同开发产品功能,信息用户及其子用户或供应商内部知晓,也就是说用户及其子用户或供应商仅使用了提供的主固件程序中架构,第一独立应用以及其它的独立应用开发完全由用户及其子用户或供应商完成,这也是大部分用户市场需求。

在其中一个实施例中,其它的独立应用与主固件程序进行通信,则需调用主固件提供的应用程序编程接口,此时主固件程序中不仅提供了编译脚本,还要提供不同功能的应用程序编程接口,对于用户及其子用户来讲,各独立应用之间彼此独立,互不依赖。

在其中一个实施例中,所述加载运行所述其它的独立应用,包括:

基于所述其它的独立应用对应的应用软件包的存储地址,依次加载运行所述其它的独立应用。

其中,在非易失性存储空间中,基于预先划分好的各独立应用的存储地址,依次加载运行其它的独立应用。例如,各独立应用是按顺序执行的,加载第一独立应用的接口运行后,再加载第二独立应用,直至所有的独立应用加载完成。

在一个实施例中,如图5所示,为一个实施例中基于实时操作系统的独立应用的运行方法的流程图。

在开机之后,可以通过设置bootloader(引导加载程序),引导启动硬件系统、建立内存空间的映射图、对软硬件进行相应的初始化和设定等,从而为运行操作系统准备好环境。其中,bootloader的操作模式可以为自启动模式,在开机之后,bootloader直接将操作系统程序加载到存储器中运行。

在bootloader运行结束时,跳转至application(应用)分区,其中,application中存储有主固件程序,其中,主固件程序是是指包括有编译脚本、库文件等的底层开发程序,用户以及用户的子用户可以基于主固件程序中的编译脚本和库文件,开发相应的功能,也可以直接调用主固件程序的应用程序编程接口,直接实现相应的功能,application(应用)分区中为主固件程序加载运行初始化阶段。

当主固件程序加载运行结束时,会去检测是否存在有第一独立应用,其中,第一独立应用可以用于与主固件进行通信,借用主固件进行拨号上网传输数据,也可以也可以取决于用户自己产品实际应用需求来决定第一独立应用的功能。例如,当第一独立应用用于通信上网时,可以通过向主固件程序发送拨号请求,具体的,可以通过发送AT指令与主固件程序建立通信连接。其中,主固件程序检测是否存在有第一独立应用的方法可以基于第一独立应用在编译成应用软件包时的头部信息,在应用软件包头部信息及应用软件包的内容烧录进规划的非易失性存储空间中后,在加载第一独立应用的位置时,主固件会去检测规划的非易失性存储空间地址里的头部内容,检验通过后即可判断此处为有效的第一独立应用的程序,则代表存在有第一独立应用,进而跳转至第一独立应用的入口程序里进行加载运行。

当第一独立应用加载运行之后,会去检测是否存在有其它的独立应用,其它各独立应用可以包括第二独立应用、第三独立应用…等,同样的,也是通过在加载其它各独立应用的位置时,主固件程序会去检测对应的非易失性存储空间地址中存储的应用软件包的头部信息,检验通过后即可认为此处为有效的其它各独立应用的程序,进而跳转至其它独立应用的入口程序里进行加载运行,具体的加载顺序可以根据用户自己的代码实现。

在加载其它的各独立应用时,可以由主固件程序直接加载运行其它的各独立应用以实现相应功能,也可以由第一独立应用被封装之后,再由主固件程序调用其它的各独立应用以实现相应功能,其中,其它的独立应用是是按顺序执行的,在加载运行第一独立应用的接口后,再加载第二独立应用,直至加载完成所有的独立应用。

应该理解的是,虽然图1、2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、2、4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图6所示,提供了一种存储架构下的软件存储装置,包括:

软件包处理模块602,用于获取主固件程序的固件软件包以及第一独立应用和其它的独立应用对应的应用软件包。

第一存储区域处理模块604,用于将所述应用软件包中的静态变量存储于对应的静态存储区域,以及将所述应用软件包中的动态变量存储于动态存储区域。

编译模块606,用于对所述静态存储区域中的静态变量、所述动态存储区域中的动态变量进行编译。

第二存储区域处理模块608,用于在处理模块编译成功之后,将所述主固件程序的固件软件包、所述应用软件包烧录进非易失性存储空间中的对应位置处。

在其中一个实施例中,第一存储模块,用于基于各所述应用软件包中全局变量的大小,将所述应用软件包中的静态变量存储于对应的静态存储区域。

在其中一个实施例中,第二存储模块,用于将所述固件软件包烧录进非易失性存储空间,基于所述固件软件包中的主固件程序,确定所述非易失性存储空间中所述应用软件包烧录进所述非易失性存储空间时的起始地址;基于所述起始地址,以及各所述应用软件包的大小,确定所述非易失性存储空间的各所述应用软件包的起始地址,将所述应用软件包烧录进非易失性存储空间中的对应位置处。

在一个实施例中,如图7所示,提供了一种基于实时操作系统的独立应用的运行装置,包括:初始化模块和独立应用处理模块,其中:

初始化模块702,用于实时操作系统和主固件程序的初始化。

独立应用处理模块704,用于在初始化模块之后,检测是否存在有第一独立应用,当检测到存在有第一独立应用时,加载运行所述第一独立应用;当基于所述第一独立应用加载运行完成之后,检测是否有其它的独立应用存在,当存在有其它的独立应用时,调用启动所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

在其中一个实施例中,独立应用处理模块还用于在实时操作系统和主固件程序初始化完成之后,查找所述非易失性存储空间的地址对应的非易失性存储空间中的应用软件包;基于所述应用软件包的头部信息,检验所述应用软件包中的第一独立应用是否有效;当基于头部信息确定所述第一独立应用有效时,则表示存在有第一独立应用。

在其中一个实施例中,独立应用处理模块还用于基于所述加载运行的第一独立应用,由所述第一独立应用调用所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用;

在其中一个实施例中,独立应用处理模块还用于当所述第一独立应用加载运行之后,由所述主固件程序调用所述其它的独立应用的应用程序编程接口,加载运行所述其它的独立应用。

在其中一个实施例中,独立应用处理模块还用于基于所述其它的独立应用对应的应用软件包的存储地址,依次加载运行所述其它的独立应用。

关于存储架构下的软件存储装置、基于实时操作系统的独立应用的运行装置的具体限定可以参见上文中对于存储架构下的软件存储方法、基于实时操作系统的独立应用的运行方法的限定,在此不再赘述。上述存储架构下的软件存储装置、基于实时操作系统的独立应用的运行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用功能数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于实时操作系统的独立应用的运行方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于实时操作系统的独立应用的运行方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图8、9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现基于实时操作系统的独立应用的运行方法的步骤

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于实时操作系统的独立应用的运行方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 存储架构下的软件存储方法
  • 一种存储架构及其初始化方法和数据存储方法及管理装置
技术分类

06120112966271