一种移动终端软件自动加载的方法

文档序号:6556869阅读:186来源:国知局
专利名称:一种移动终端软件自动加载的方法
技术领域
本发明涉及一种移动终端软件自动加载的方法,特别是一种通过在移动终端中开机或正常运行时实现移动终端软件自动加载、动态更新的方法,属于移动通信领域。
背景技术
作为消费类电子的代表,为了满足用户群日益提高的使用标准,移动终端的功能种类不断翻新,其性能也飞速提升,因此,移动终端的配套软件和应用程序也在不断的推陈出新。
但是,目前移动终端的配套软件在出厂之前就已经被固化到移动终端的内部,在使用过程中无法获得更新,带来了以下缺陷第一、用户只能采取频繁更换移动终端的办法来获取不断涌现的新功能,由于其经济代价非常高昂,直接影响了新功能的应用与普及;第二、一旦出现移动终端软件被破坏或者代码段丢失的情况,必须将移动终端返还制造商或者制造商指定的维修点进行修理,给用户带来了不便。
显然,如果移动终端的配套软件能够自动进行更新,则不但可以满足用户群日益增长的需求,也可以为移动终端的维修提供一种更为快捷的解决方法。但在现有技术方案中还没有类似的解决方案。

发明内容
本发明的目的是针对上述现有技术中的缺陷,提供一种移动终端软件自动加载的方法,通过检测并加载移动终端软件,实现移动终端系统的自动升级。
本发明的另一目的是针对上述现有技术中的缺陷,提供一种移动终端软件自动加载的方法,通过在移动终端升级失败或者发生故障时重新加载,实现移动终端功能的恢复。
为实现上述目的,本发明提供了一种移动终端软件自动加载的方法,包括以下步骤步骤1、设置移动终端开机启动软件和系统软件程序的存储空间及运行空间;步骤2、所述移动终端检测是否更新系统软件程序,是则执行步骤3,否则运行现有的系统软件程序并结束;步骤3、所述移动终端通过通讯端口下载更新的系统软件程序并存储在所述系统软件程序的存储空间中,结束。
其中,步骤1可具体为在Nor Flash空间中设置所述系统软件程序的存储空间;还可包括在Nor Flash空间中设置所述开机启动软件的存储空间,并在所述开机启动软件和系统软件程序的存储空间中分别设置开机启动软件和系统软件程序的代码运行空间;在RAM空间中设置所述开机启动软件和所述系统软件程序的数据运行空间。
则当移动终端开机时,所述步骤2具体为步骤21、所述开机启动软件检测系统软件程序存储空间中的程序是否为有效的系统软件程序,包括识别所述系统软件程序的版本、大小是否与所支持的移动终端硬件版本信息兼容,是则执行步骤22,否则执行步骤3;步骤22、所述开机启动软件检测所述系统软件是否被设置为加载更新程序的模式,是则执行步骤3,否则运行现有的系统软件程序并结束。
对应的步骤3具体为所述开机启动软件通过USB接口或串口,从外接的存储设备中下载更新的系统软件程序并存储在所述系统软件程序的存储空间中,运行所述更新的系统软件程序。
当系统软件程序运行时,所述步骤2具体为所述运行的系统软件程序定时扫描移动通信网络上或外接的存储设备,检测是否存在更新版本,是则执行步骤3,否则保持运行现有的系统软件程序并结束。
对应的步骤3具体为所述运行的系统软件程序通过USB接口或串口或射频接口,从移动通信网络或外接存储设备下载所述更新版本并存储在所述系统软件程序的存储空间中,覆盖所述运行的系统软件程序。
或者,所述步骤1还可具体为在Nand Flash空间中预留部分空间供文件系统使用,并在文件系统的指定目录下设置预留存储空间,作为所述系统软件程序的存储空间;还可以设置所述开机启动软件的存储空间,在RAM空间中设置所述开机启动软件和所述系统软件程序的代码运行空间和数据运行空间。
则当移动终端开机时,所述步骤2具体为步骤21′、所述开机启动软件检测所述指定目录下是否存在系统软件程序,是则执行步骤22′,否则执行步骤3;步骤22′,所述开机启动软件检测检测所述预留存储空间中的数据是否为有效的系统软件程序,包括识别所述系统软件程序的版本、大小是否与所支持的移动终端硬件版本信息兼容,是则执行步骤23′,否则执行步骤3;步骤23′、所述开机启动软件检测所述系统软件是否被设置为加载更新程序的模式,是则执行步骤3,否则运行现有的系统软件程序并结束。
对应的步骤3具体为所述开机启动软件通过USB接口或串口,从外接的存储设备中下载更新的系统软件程序并存储在所述文件系统指定目录下的预留存储空间中,运行所述更新的系统软件程序。
当系统软件程序运行时,所述步骤2具体为所述运行的系统软件程序定时扫描移动通信网络上或外接的存储设备,检测是否存在更新版本,是则执行步骤3,否则保持运行现有的系统软件程序并结束。
对应的步骤3具体为所述运行的系统软件程序通过USB接口或串口或射频接口,从移动通信网络或外接存储设备下载所述更新版本,并使用与所述运行的系统软件程序不同的文件名称或者路径名称,将所述更新版本存储在所述文件系统指定目录下的预留存储空间中;设置所述更新版本为移动终端启动时运行的系统软件程序。
由上述技术方案可知,本发明采用启动软件进行系统软件程序的检测,通过通讯端口进行加载升级,具有以下有益效果1、实现了在手机启动或正常运行时,系统软件程序的动态更新,为手机用户提供了便捷的软件更新途径,也为手机厂商提供了动态升级软件程序的方法;2、启动时由启动软件加以引导,支持了手机在无系统软件程序核心时的有效加载功能;3、每次启动时都由启动软件加以引导,避免了由于系统软件程序失败导致手机彻底瘫痪的情况;4、支持使用脚本文件进行手机系统软件程序的配置,实现了手机系统软件程序的多版本切换。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明提供的移动终端软件自动加载方法的流程图;图2为图1所示方法Nor Flash存储空间分布的示意图;图3为图1所示方法实施例1的流程图;图4为图1所示方法实施例2的流程图;图5为图1所示方法Nand Flash存储空间分布的示意图;图6为图1所示方法实施例3的流程图;
图7为图1所示方法实施例4的流程图。
具体实施例方式
移动终端软件主要由两部分程序软件构成,一部分为开机启动软件,一部分为系统软件程序。
开机启动软件,提供系统软件程序的检测、识别及加载升级功能。该程序在出厂前固化到手机内部,一般情况下不需要更新。
系统软件程序,作为手机软件的核心软件,提供了操作系统、驱动程序、应用程序等所有的手机系统所必需的程序。这部分程序可能根据应用软件的变化或者系统软件的升级,需要进行更新。
其中,开机启动软件可以采用诸如LILO、GRUB FOR DOS、GNU GRUB以及Bootrom等;系统软件程序可以采用现有的任一操作系统,但考虑到移动终端本身的存储空间和运行空间都比较有限,因此,嵌入式操作系统是较好的选择,比如vxWorks、WinCE、pSOS等。
本发明所提供的移动终端软件自动加载方法,就是系统软件程序自动加载更新的方法,参见图1,包括以下步骤步骤1、设置移动终端开机启动软件和系统软件程序的存储空间及运行空间;步骤2、所述移动终端检测是否更新系统软件程序,是则执行步骤3,否则运行现有的系统软件程序并结束;步骤3、所述移动终端通过通讯端口下载更新的系统软件程序并存储在所述系统软件程序的存储空间中,结束。
其中,步骤1中的存储空间包括程序代码存储空间和程序数据存储空间,运行空间包括代码运行空间和数据运行空间。
本发明的实施例以系统软件程序为vxWorks程序,移动终端开机启动软件为Bootrom软件为例,对所提供的移动终端软件自动加载方法加以说明,即设置系统软件程序为vxWorks程序,将Bootrom软件设置为移动终端开机启动软件。但本领域技术人员应当理解,本发明所提供的方法不仅限于vxWorks程序和Bootrom软件。
实施例1以(Nor Flash+RAM)模式作为存储方式,在移动终端开机时的软件自动加载方法。
本模式下,在Nor Flash空间中设置Bootrom软件和vxWorks程序的代码和数据存储空间,并在所述Bootrom软件的存储空间中设置Bootrom软件的代码运行空间,在vxWorks程序的存储空间中设置vxWorks程序的代码运行空间;在RAM空间中设置Bootrom软件和vxWorks程序的数据运行空间。参考图2,vxWorks系统软件程序的存储空间处于Bootrom程序的存储空间之后,Bootrom程序和vxWorks系统软件程序的代码运行空间分别被包含Bootrom程序和vxWorks系统软件程序的存储空间中;同时,可以将Nor Flash中的其它剩余空间供文件系统使用;Bootrom程序的数据、堆栈和所需要使用的动态分配内存存储在RAM中;其中,vxWorks系统软件程序的存储空间中仅保存一套vxWorks系统软件程序代码。
实施例1包括以下步骤,参见图3步骤101、在Nor Flash空间中设置Bootrom软件和vxWorks程序的存储空间,并在所述Bootrom软件和vxWorks程序的存储空间中分别设置Bootrom软件和vxWorks程序的代码运行空间;在RAM空间中设置Bootrom软件和vxWorks程序的数据运行空间;步骤102、当移动终端开机时,Bootrom程序检测vxWorks程序存储空间中的程序是否为有效的vxWorks程序,即vxWorks程序是否能够启动,包括识别vxWorks程序的版本、大小是否与所支持的移动终端硬件版本信息兼容,是则执行步骤103,否则执行步骤104;步骤103、Bootrom程序检测vxWorks程序是否被设置为加载更新程序的模式,是则执行步骤104,否则直接运行移动终端中现有的vxWorks程序并结束;步骤104、Bootrom程序通过USB接口或串口,从外接的存储设备中下载更新的vxWorks程序并存储在vxWorks程序存储空间中,运行所述更新的vxWorks系统软件程序,结束。
执行过步骤104之后,由于vxWorks系统软件程序代码存储在代码运行空间中,因此覆盖了原有的vxWorks系统软件程序。
可见,每一次都由Bootrom引导启动,支持了手机在无系统软件程序核心时的有效加载功能,避免了由于系统软件程序失败导致手机彻底瘫痪的情况。
比如,当移动终端中系统被破坏而不能启动时,通过Bootrom程序下载更新的vxWorks系统软件程序,可以实现正常启动。
另外,步骤101可以在移动终端出厂时进行设置,当移动终端每次启动时,都遵循出厂设置进行,无需每次启动重新加以设置。
实施例2以(Nor Flash+RAM)模式作为存储方式,在移动终端正常运行时的软件自动加载方法。
参见图4,包括以下步骤步骤201、在Nor Flash空间中设置Bootrom软件和vxWorks程序的存储空间;步骤202、所述运行的vxWorks系统软件程序定时扫描移动通信网络上或外接的存储设备,检测是否存在更新版本,是则执行步骤203,否则保持运行现有的vxWorks系统软件程序并结束;步骤203、运行的vxWorks系统软件程序通过USB接口或串口或射频接口,从移动通信网络或外接存储设备下载所述更新版本并存储在vxWorks程序存储空间中,覆盖原来存储的vxWorks系统软件程序的数据和代码。
通过本实施例的设置,当移动终端下一次启动时,系统将运行更新后的vxWorks程序,达到系统动态升级的效果。
其中,步骤201可以在移动终端出厂时进行设置,当移动终端每次启动时,都遵循出厂设置进行,无需每次更新程序时重新加以设置。
实施例3以(Nand Flash+RAM)模式作为存储方式,在移动终端开机时的移动终端软件自动加载方法。
本模式下,在Nand Flash空间中设置Bootrom软件存储空间,包括Bootrom数据存储空间和Bootrom代码存储空间;预留部分空间供文件系统使用;在RAM空间中设置Bootrom软件和vxWorks系统软件程序的数据运行空间以及代码运行空间。进一步的,在Nand Flash空间中文件系统的指定目录下设置预留存储空间,作为vxWorks系统软件程序的存储空间,包括vxWorks数据存储空间和vxWorks代码存储空间。参考图5,vxWorks系统软件程序存储空间和运行空间被分离开来,即vxWorks系统软件程序存储在Nand Flash的文件系统中,而运行在RAM中;堆栈和所需要使用的动态分配内存存储在RAM中。
实施例3包括以下步骤,如图6所示步骤301、在Nand Flash空间中预留部分空间供文件系统使用,并在文件系统的指定目录下设置预留存储空间,作为vxWorks系统软件程序的存储空间;步骤302、当移动终端开机时,Bootrom程序检测指定目录下是否存在vxWorks系统软件程序,是则执行步骤303,否则执行步骤305;步骤303、Bootrom程序检测预留存储空间中的程序是否为有效的vxWorks系统软件程序,即vxWorks程序是否能够启动,包括识别所述vxWorks系统软件程序的版本、大小是否与所支持的移动终端硬件版本信息兼容,是则执行步骤304,否则执行步骤305;步骤304、Bootrom程序检测vxWorks系统软件是否被设置为加载更新程序的模式,是则执行步骤305,否则运行现有的vxWorks系统软件程序并结束;步骤305、Bootrom程序通过USB接口或串口,从外接的存储设备中下载更新的vxWorks系统软件程序并存储在文件系统指定目录下的预留存储空间中,运行所述更新的vxWorks系统软件程序。
本实施例中,移动终端也都由Bootrom引导启动,支持了手机在无系统软件程序核心时的有效加载功能,避免了由于系统软件程序失败导致手机彻底瘫痪的情况。
另外,步骤301可以在移动终端出厂时进行设置,当移动终端每次启动时,都遵循出厂设置进行,无需每次启动重新加以设置。
实施例4以(Nand Flash+RAM)模式作为存储方式,在移动终端正常运行时的移动终端软件自动加载方法。
如图7所示,包括以下步骤步骤401、在Nand Flash空间中设置Bootrom的存储空间,预留部分空间供文件系统使用,并在文件系统的指定目录下设置预留存储空间,作为vxWorks系统软件程序的存储空间;在RAM空间中设置Bootrom和vxWorks系统软件程序的代码运行空间和数据运行空间;步骤402、运行的vxWorks系统软件程序定时扫描移动通信网络上或外接的存储设备;步骤403、检测是否存在更新版本,是则执行步骤404,否则保持运行现有的vxWorks系统软件程序并结束;步骤404、运行的vxWorks系统软件程序通过USB接口或串口或射频接口,从移动通信网络或外接存储设备下载该更新版本;步骤405、使用与当前运行的vxWorks系统软件程序不同的文件名称或者路径名称,将更新版本存储在文件系统指定目录下的预留存储空间中;步骤406、设置所述更新版本为移动终端启动时运行的目标,即当移动终端下一次启动时,运行更新后的vxWorks版本,结束。
其中,步骤406中可以以脚本文件的形式设置所述更新版本为实际启动的系统软件程序。
由于文件系统中可以同时存在多个vxWorks程序,以不同的文件名或所在目录路径进行区别,因此可以以脚本文件的形式将指定目录下的特定vxWorks程序作为实际需要启动的目标。这样在下次启动时,系统将运行更新后的vxWorks程序,达到系统动态升级的效果。
步骤406之后还可以包括通过修改所述脚本文件,切换实际启动的vxWorks系统软件程序,达到在升级失败时的系统恢复功能。
其中,步骤401可以在移动终端出厂时进行设置,当移动终端每次启动时,都遵循出厂设置进行,无需每次检测更新程序时重新加以设置。
通过上述实施例1-4,可以看出,通过本发明提供的移动终端软件自动加载的方法,实现了在手机启动或正常运行时,系统软件程序的动态更新,为手机用户提供了便捷的软件更新途径,也为手机厂商提供了动态升级软件程序的方法;在启动时由启动软件加以引导,支持了手机在无系统软件程序核心时的有效加载功能;每次启动时都由启动软件加以引导,避免了由于系统软件程序失败导致手机彻底瘫痪的情况;进一步的,使用脚本文件进行手机系统软件程序的配置,实现了手机系统软件程序的多版本切换。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种移动终端软件自动加载的方法,其特征在于,包括以下步骤步骤1、设置移动终端开机启动软件和系统软件程序的存储空间及运行空间;步骤2、所述移动终端检测是否更新系统软件程序,是则执行步骤3,否则运行现有的系统软件程序并结束;步骤3、所述移动终端通过通讯端口下载更新的系统软件程序并存储在所述系统软件程序的存储空间中,结束。
2.根据权利要求1所述的方法,其特征在于,所述步骤1具体为在Nor Flash空间中设置所述系统软件程序的存储空间。
3.根据权利要求2所述的方法,其特征在于,所述步骤1还包括在Nor Flash空间中设置所述开机启动软件的存储空间;在所述开机启动软件和系统软件程序的存储空间中分别设置开机启动软件和系统软件程序的代码运行空间;在RAM空间中设置所述开机启动软件和所述系统软件程序的数据运行空间。
4.根据权利要求2或3所述的方法,其特征在于,当移动终端开机时,所述步骤2具体为步骤21、所述开机启动软件检测系统软件程序存储空间中的程序是否为有效的系统软件程序,包括识别所述系统软件程序的版本、大小是否与所支持的移动终端硬件版本信息兼容,是则执行步骤22,否则执行步骤3;步骤22、所述开机启动软件检测所述系统软件是否被设置为加载更新程序的模式,是则执行步骤3,否则运行现有的系统软件程序并结束。
5.根据权利要求4所述的方法,其特征在于,步骤3具体为所述开机启动软件通过USB接口或串口,从外接的存储设备中下载更新的系统软件程序并存储在所述系统软件程序的存储空间中,运行所述更新的系统软件程序。
6.根据权利要求2或3所述的方法,其特征在于,当系统软件程序运行时,所述步骤2具体为所述运行的系统软件程序定时扫描移动通信网络上或外接的存储设备,检测是否存在更新版本,是则执行步骤3,否则保持运行现有的系统软件程序并结束。
7.根据权利要求6所述的方法,其特征在于,所述步骤3具体为所述运行的系统软件程序通过USB接口或串口或射频接口,从移动通信网络或外接存储设备下载所述更新版本并存储在所述系统软件程序的存储空间中,覆盖所述运行的系统软件程序。
8.根据权利要求1所述的方法,其特征在于,所述步骤1具体为在Nand Flash空间中预留部分空间供文件系统使用,并在文件系统的指定目录下设置预留存储空间,作为所述系统软件程序的存储空间。
9.根据权利要求8所述的方法,其特征在于,所述步骤1还包括在Nand F1ash空间中设置所述开机启动软件的存储空间,在RAM空间中设置所述开机启动软件和所述系统软件程序的代码运行空间和数据运行空间。
10.根据权利要求8或9所述的方法,其特征在于,当移动终端开机时,所述步骤2具体为步骤21′、所述开机启动软件检测所述指定目录下是否存在系统软件程序,是则执行步骤22′,否则执行步骤3;步骤22′、所述开机启动软件检测所述预留存储空间中的程序是否为有效的系统软件程序,包括识别所述系统软件程序的版本、大小是否与所支持的移动终端硬件版本信息兼容,是则执行步骤23′,否则执行步骤3;步骤23′、所述开机启动软件检测所述系统软件是否被设置为加载更新程序的模式,是则执行步骤3,否则运行现有的系统软件程序并结束。
11.根据权利要求10所述的方法,其特征在于,所述步骤3具体为所述开机启动软件通过USB接口或串口,从外接的存储设备中下载更新的系统软件程序并存储在所述文件系统指定目录下的预留存储空间中,运行所述更新的系统软件程序。
12.根据权利要求8或9所述的方法,其特征在于,当系统软件程序运行时,所述步骤2具体为所述运行的系统软件程序定时扫描移动通信网络上或外接的存储设备,检测是否存在更新版本,是则执行步骤3,否则保持运行现有的系统软件程序并结束。
13.根据权利要求12所述的方法,其特征在于,所述步骤3具体为所述运行的系统软件程序通过USB接口或串口或射频接口,从移动通信网络或外接存储设备下载所述更新版本,并使用与所述运行的系统软件程序不同的文件名称或者路径名称,将所述更新版本存储在所述文件系统指定目录下的预留存储空间中;设置所述更新版本为移动终端启动时运行的系统软件程序。
14.根据权利要求13所述的方法,其特征在于,以设置脚本文件的形式设置所述更新版本为移动终端启动时运行的系统软件程序。
15.根据权利要求14所述的方法,其特征在于,所述步骤3之后还包括通过修改所述脚本文件,切换移动终端启动时运行的系统软件程序。
全文摘要
本发明公开了一种移动终端软件自动加载的方法,包括设置移动终端开机启动软件和系统软件程序的存储空间及运行空间;所述移动终端检测是否更新系统软件程序,是则所述移动终端通过通讯端口下载更新的系统软件程序并存储在所述系统软件程序的存储空间中,否则运行现有的系统软件程序并结束。通过本发明公开的方法,实现了在手机启动或正常运行时,系统软件程序的动态更新,为手机用户提供了便捷的软件更新途径,也为手机厂商提供了动态升级软件程序的方法;支持了手机在无系统软件程序核心时的有效加载功能;避免了由于系统软件程序失败导致手机彻底瘫痪的情况;实现了手机系统软件程序的多版本切换。
文档编号G06F9/445GK1858707SQ20061005846
公开日2006年11月8日 申请日期2006年3月28日 优先权日2006年3月28日
发明者宗阳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1