專利名稱:一種移動終端軟件自動加載的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動終端軟件自動加載的方法,特別是一種通過在移動終端中開機(jī)或正常運行時實現(xiàn)移動終端軟件自動加載、動態(tài)更新的方法,屬于移動通信領(lǐng)域。
背景技術(shù):
作為消費類電子的代表,為了滿足用戶群日益提高的使用標(biāo)準(zhǔn),移動終端的功能種類不斷翻新,其性能也飛速提升,因此,移動終端的配套軟件和應(yīng)用程序也在不斷的推陳出新。
但是,目前移動終端的配套軟件在出廠之前就已經(jīng)被固化到移動終端的內(nèi)部,在使用過程中無法獲得更新,帶來了以下缺陷第一、用戶只能采取頻繁更換移動終端的辦法來獲取不斷涌現(xiàn)的新功能,由于其經(jīng)濟(jì)代價非常高昂,直接影響了新功能的應(yīng)用與普及;第二、一旦出現(xiàn)移動終端軟件被破壞或者代碼段丟失的情況,必須將移動終端返還制造商或者制造商指定的維修點進(jìn)行修理,給用戶帶來了不便。
顯然,如果移動終端的配套軟件能夠自動進(jìn)行更新,則不但可以滿足用戶群日益增長的需求,也可以為移動終端的維修提供一種更為快捷的解決方法。但在現(xiàn)有技術(shù)方案中還沒有類似的解決方案。
發(fā)明內(nèi)容
本發(fā)明的目的是針對上述現(xiàn)有技術(shù)中的缺陷,提供一種移動終端軟件自動加載的方法,通過檢測并加載移動終端軟件,實現(xiàn)移動終端系統(tǒng)的自動升級。
本發(fā)明的另一目的是針對上述現(xiàn)有技術(shù)中的缺陷,提供一種移動終端軟件自動加載的方法,通過在移動終端升級失敗或者發(fā)生故障時重新加載,實現(xiàn)移動終端功能的恢復(fù)。
為實現(xiàn)上述目的,本發(fā)明提供了一種移動終端軟件自動加載的方法,包括以下步驟步驟1、設(shè)置移動終端開機(jī)啟動軟件和系統(tǒng)軟件程序的存儲空間及運行空間;步驟2、所述移動終端檢測是否更新系統(tǒng)軟件程序,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束;步驟3、所述移動終端通過通訊端口下載更新的系統(tǒng)軟件程序并存儲在所述系統(tǒng)軟件程序的存儲空間中,結(jié)束。
其中,步驟1可具體為在Nor Flash空間中設(shè)置所述系統(tǒng)軟件程序的存儲空間;還可包括在Nor Flash空間中設(shè)置所述開機(jī)啟動軟件的存儲空間,并在所述開機(jī)啟動軟件和系統(tǒng)軟件程序的存儲空間中分別設(shè)置開機(jī)啟動軟件和系統(tǒng)軟件程序的代碼運行空間;在RAM空間中設(shè)置所述開機(jī)啟動軟件和所述系統(tǒng)軟件程序的數(shù)據(jù)運行空間。
則當(dāng)移動終端開機(jī)時,所述步驟2具體為步驟21、所述開機(jī)啟動軟件檢測系統(tǒng)軟件程序存儲空間中的程序是否為有效的系統(tǒng)軟件程序,包括識別所述系統(tǒng)軟件程序的版本、大小是否與所支持的移動終端硬件版本信息兼容,是則執(zhí)行步驟22,否則執(zhí)行步驟3;步驟22、所述開機(jī)啟動軟件檢測所述系統(tǒng)軟件是否被設(shè)置為加載更新程序的模式,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
對應(yīng)的步驟3具體為所述開機(jī)啟動軟件通過USB接口或串口,從外接的存儲設(shè)備中下載更新的系統(tǒng)軟件程序并存儲在所述系統(tǒng)軟件程序的存儲空間中,運行所述更新的系統(tǒng)軟件程序。
當(dāng)系統(tǒng)軟件程序運行時,所述步驟2具體為所述運行的系統(tǒng)軟件程序定時掃描移動通信網(wǎng)絡(luò)上或外接的存儲設(shè)備,檢測是否存在更新版本,是則執(zhí)行步驟3,否則保持運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
對應(yīng)的步驟3具體為所述運行的系統(tǒng)軟件程序通過USB接口或串口或射頻接口,從移動通信網(wǎng)絡(luò)或外接存儲設(shè)備下載所述更新版本并存儲在所述系統(tǒng)軟件程序的存儲空間中,覆蓋所述運行的系統(tǒng)軟件程序。
或者,所述步驟1還可具體為在Nand Flash空間中預(yù)留部分空間供文件系統(tǒng)使用,并在文件系統(tǒng)的指定目錄下設(shè)置預(yù)留存儲空間,作為所述系統(tǒng)軟件程序的存儲空間;還可以設(shè)置所述開機(jī)啟動軟件的存儲空間,在RAM空間中設(shè)置所述開機(jī)啟動軟件和所述系統(tǒng)軟件程序的代碼運行空間和數(shù)據(jù)運行空間。
則當(dāng)移動終端開機(jī)時,所述步驟2具體為步驟21′、所述開機(jī)啟動軟件檢測所述指定目錄下是否存在系統(tǒng)軟件程序,是則執(zhí)行步驟22′,否則執(zhí)行步驟3;步驟22′,所述開機(jī)啟動軟件檢測檢測所述預(yù)留存儲空間中的數(shù)據(jù)是否為有效的系統(tǒng)軟件程序,包括識別所述系統(tǒng)軟件程序的版本、大小是否與所支持的移動終端硬件版本信息兼容,是則執(zhí)行步驟23′,否則執(zhí)行步驟3;步驟23′、所述開機(jī)啟動軟件檢測所述系統(tǒng)軟件是否被設(shè)置為加載更新程序的模式,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
對應(yīng)的步驟3具體為所述開機(jī)啟動軟件通過USB接口或串口,從外接的存儲設(shè)備中下載更新的系統(tǒng)軟件程序并存儲在所述文件系統(tǒng)指定目錄下的預(yù)留存儲空間中,運行所述更新的系統(tǒng)軟件程序。
當(dāng)系統(tǒng)軟件程序運行時,所述步驟2具體為所述運行的系統(tǒng)軟件程序定時掃描移動通信網(wǎng)絡(luò)上或外接的存儲設(shè)備,檢測是否存在更新版本,是則執(zhí)行步驟3,否則保持運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
對應(yīng)的步驟3具體為所述運行的系統(tǒng)軟件程序通過USB接口或串口或射頻接口,從移動通信網(wǎng)絡(luò)或外接存儲設(shè)備下載所述更新版本,并使用與所述運行的系統(tǒng)軟件程序不同的文件名稱或者路徑名稱,將所述更新版本存儲在所述文件系統(tǒng)指定目錄下的預(yù)留存儲空間中;設(shè)置所述更新版本為移動終端啟動時運行的系統(tǒng)軟件程序。
由上述技術(shù)方案可知,本發(fā)明采用啟動軟件進(jìn)行系統(tǒng)軟件程序的檢測,通過通訊端口進(jìn)行加載升級,具有以下有益效果1、實現(xiàn)了在手機(jī)啟動或正常運行時,系統(tǒng)軟件程序的動態(tài)更新,為手機(jī)用戶提供了便捷的軟件更新途徑,也為手機(jī)廠商提供了動態(tài)升級軟件程序的方法;2、啟動時由啟動軟件加以引導(dǎo),支持了手機(jī)在無系統(tǒng)軟件程序核心時的有效加載功能;3、每次啟動時都由啟動軟件加以引導(dǎo),避免了由于系統(tǒng)軟件程序失敗導(dǎo)致手機(jī)徹底癱瘓的情況;4、支持使用腳本文件進(jìn)行手機(jī)系統(tǒng)軟件程序的配置,實現(xiàn)了手機(jī)系統(tǒng)軟件程序的多版本切換。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明提供的移動終端軟件自動加載方法的流程圖;圖2為圖1所示方法Nor Flash存儲空間分布的示意圖;圖3為圖1所示方法實施例1的流程圖;圖4為圖1所示方法實施例2的流程圖;圖5為圖1所示方法Nand Flash存儲空間分布的示意圖;圖6為圖1所示方法實施例3的流程圖;
圖7為圖1所示方法實施例4的流程圖。
具體實施例方式
移動終端軟件主要由兩部分程序軟件構(gòu)成,一部分為開機(jī)啟動軟件,一部分為系統(tǒng)軟件程序。
開機(jī)啟動軟件,提供系統(tǒng)軟件程序的檢測、識別及加載升級功能。該程序在出廠前固化到手機(jī)內(nèi)部,一般情況下不需要更新。
系統(tǒng)軟件程序,作為手機(jī)軟件的核心軟件,提供了操作系統(tǒng)、驅(qū)動程序、應(yīng)用程序等所有的手機(jī)系統(tǒng)所必需的程序。這部分程序可能根據(jù)應(yīng)用軟件的變化或者系統(tǒng)軟件的升級,需要進(jìn)行更新。
其中,開機(jī)啟動軟件可以采用諸如LILO、GRUB FOR DOS、GNU GRUB以及Bootrom等;系統(tǒng)軟件程序可以采用現(xiàn)有的任一操作系統(tǒng),但考慮到移動終端本身的存儲空間和運行空間都比較有限,因此,嵌入式操作系統(tǒng)是較好的選擇,比如vxWorks、WinCE、pSOS等。
本發(fā)明所提供的移動終端軟件自動加載方法,就是系統(tǒng)軟件程序自動加載更新的方法,參見圖1,包括以下步驟步驟1、設(shè)置移動終端開機(jī)啟動軟件和系統(tǒng)軟件程序的存儲空間及運行空間;步驟2、所述移動終端檢測是否更新系統(tǒng)軟件程序,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束;步驟3、所述移動終端通過通訊端口下載更新的系統(tǒng)軟件程序并存儲在所述系統(tǒng)軟件程序的存儲空間中,結(jié)束。
其中,步驟1中的存儲空間包括程序代碼存儲空間和程序數(shù)據(jù)存儲空間,運行空間包括代碼運行空間和數(shù)據(jù)運行空間。
本發(fā)明的實施例以系統(tǒng)軟件程序為vxWorks程序,移動終端開機(jī)啟動軟件為Bootrom軟件為例,對所提供的移動終端軟件自動加載方法加以說明,即設(shè)置系統(tǒng)軟件程序為vxWorks程序,將Bootrom軟件設(shè)置為移動終端開機(jī)啟動軟件。但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所提供的方法不僅限于vxWorks程序和Bootrom軟件。
實施例1以(Nor Flash+RAM)模式作為存儲方式,在移動終端開機(jī)時的軟件自動加載方法。
本模式下,在Nor Flash空間中設(shè)置Bootrom軟件和vxWorks程序的代碼和數(shù)據(jù)存儲空間,并在所述Bootrom軟件的存儲空間中設(shè)置Bootrom軟件的代碼運行空間,在vxWorks程序的存儲空間中設(shè)置vxWorks程序的代碼運行空間;在RAM空間中設(shè)置Bootrom軟件和vxWorks程序的數(shù)據(jù)運行空間。參考圖2,vxWorks系統(tǒng)軟件程序的存儲空間處于Bootrom程序的存儲空間之后,Bootrom程序和vxWorks系統(tǒng)軟件程序的代碼運行空間分別被包含Bootrom程序和vxWorks系統(tǒng)軟件程序的存儲空間中;同時,可以將Nor Flash中的其它剩余空間供文件系統(tǒng)使用;Bootrom程序的數(shù)據(jù)、堆棧和所需要使用的動態(tài)分配內(nèi)存存儲在RAM中;其中,vxWorks系統(tǒng)軟件程序的存儲空間中僅保存一套vxWorks系統(tǒng)軟件程序代碼。
實施例1包括以下步驟,參見圖3步驟101、在Nor Flash空間中設(shè)置Bootrom軟件和vxWorks程序的存儲空間,并在所述Bootrom軟件和vxWorks程序的存儲空間中分別設(shè)置Bootrom軟件和vxWorks程序的代碼運行空間;在RAM空間中設(shè)置Bootrom軟件和vxWorks程序的數(shù)據(jù)運行空間;步驟102、當(dāng)移動終端開機(jī)時,Bootrom程序檢測vxWorks程序存儲空間中的程序是否為有效的vxWorks程序,即vxWorks程序是否能夠啟動,包括識別vxWorks程序的版本、大小是否與所支持的移動終端硬件版本信息兼容,是則執(zhí)行步驟103,否則執(zhí)行步驟104;步驟103、Bootrom程序檢測vxWorks程序是否被設(shè)置為加載更新程序的模式,是則執(zhí)行步驟104,否則直接運行移動終端中現(xiàn)有的vxWorks程序并結(jié)束;步驟104、Bootrom程序通過USB接口或串口,從外接的存儲設(shè)備中下載更新的vxWorks程序并存儲在vxWorks程序存儲空間中,運行所述更新的vxWorks系統(tǒng)軟件程序,結(jié)束。
執(zhí)行過步驟104之后,由于vxWorks系統(tǒng)軟件程序代碼存儲在代碼運行空間中,因此覆蓋了原有的vxWorks系統(tǒng)軟件程序。
可見,每一次都由Bootrom引導(dǎo)啟動,支持了手機(jī)在無系統(tǒng)軟件程序核心時的有效加載功能,避免了由于系統(tǒng)軟件程序失敗導(dǎo)致手機(jī)徹底癱瘓的情況。
比如,當(dāng)移動終端中系統(tǒng)被破壞而不能啟動時,通過Bootrom程序下載更新的vxWorks系統(tǒng)軟件程序,可以實現(xiàn)正常啟動。
另外,步驟101可以在移動終端出廠時進(jìn)行設(shè)置,當(dāng)移動終端每次啟動時,都遵循出廠設(shè)置進(jìn)行,無需每次啟動重新加以設(shè)置。
實施例2以(Nor Flash+RAM)模式作為存儲方式,在移動終端正常運行時的軟件自動加載方法。
參見圖4,包括以下步驟步驟201、在Nor Flash空間中設(shè)置Bootrom軟件和vxWorks程序的存儲空間;步驟202、所述運行的vxWorks系統(tǒng)軟件程序定時掃描移動通信網(wǎng)絡(luò)上或外接的存儲設(shè)備,檢測是否存在更新版本,是則執(zhí)行步驟203,否則保持運行現(xiàn)有的vxWorks系統(tǒng)軟件程序并結(jié)束;步驟203、運行的vxWorks系統(tǒng)軟件程序通過USB接口或串口或射頻接口,從移動通信網(wǎng)絡(luò)或外接存儲設(shè)備下載所述更新版本并存儲在vxWorks程序存儲空間中,覆蓋原來存儲的vxWorks系統(tǒng)軟件程序的數(shù)據(jù)和代碼。
通過本實施例的設(shè)置,當(dāng)移動終端下一次啟動時,系統(tǒng)將運行更新后的vxWorks程序,達(dá)到系統(tǒng)動態(tài)升級的效果。
其中,步驟201可以在移動終端出廠時進(jìn)行設(shè)置,當(dāng)移動終端每次啟動時,都遵循出廠設(shè)置進(jìn)行,無需每次更新程序時重新加以設(shè)置。
實施例3以(Nand Flash+RAM)模式作為存儲方式,在移動終端開機(jī)時的移動終端軟件自動加載方法。
本模式下,在Nand Flash空間中設(shè)置Bootrom軟件存儲空間,包括Bootrom數(shù)據(jù)存儲空間和Bootrom代碼存儲空間;預(yù)留部分空間供文件系統(tǒng)使用;在RAM空間中設(shè)置Bootrom軟件和vxWorks系統(tǒng)軟件程序的數(shù)據(jù)運行空間以及代碼運行空間。進(jìn)一步的,在Nand Flash空間中文件系統(tǒng)的指定目錄下設(shè)置預(yù)留存儲空間,作為vxWorks系統(tǒng)軟件程序的存儲空間,包括vxWorks數(shù)據(jù)存儲空間和vxWorks代碼存儲空間。參考圖5,vxWorks系統(tǒng)軟件程序存儲空間和運行空間被分離開來,即vxWorks系統(tǒng)軟件程序存儲在Nand Flash的文件系統(tǒng)中,而運行在RAM中;堆棧和所需要使用的動態(tài)分配內(nèi)存存儲在RAM中。
實施例3包括以下步驟,如圖6所示步驟301、在Nand Flash空間中預(yù)留部分空間供文件系統(tǒng)使用,并在文件系統(tǒng)的指定目錄下設(shè)置預(yù)留存儲空間,作為vxWorks系統(tǒng)軟件程序的存儲空間;步驟302、當(dāng)移動終端開機(jī)時,Bootrom程序檢測指定目錄下是否存在vxWorks系統(tǒng)軟件程序,是則執(zhí)行步驟303,否則執(zhí)行步驟305;步驟303、Bootrom程序檢測預(yù)留存儲空間中的程序是否為有效的vxWorks系統(tǒng)軟件程序,即vxWorks程序是否能夠啟動,包括識別所述vxWorks系統(tǒng)軟件程序的版本、大小是否與所支持的移動終端硬件版本信息兼容,是則執(zhí)行步驟304,否則執(zhí)行步驟305;步驟304、Bootrom程序檢測vxWorks系統(tǒng)軟件是否被設(shè)置為加載更新程序的模式,是則執(zhí)行步驟305,否則運行現(xiàn)有的vxWorks系統(tǒng)軟件程序并結(jié)束;步驟305、Bootrom程序通過USB接口或串口,從外接的存儲設(shè)備中下載更新的vxWorks系統(tǒng)軟件程序并存儲在文件系統(tǒng)指定目錄下的預(yù)留存儲空間中,運行所述更新的vxWorks系統(tǒng)軟件程序。
本實施例中,移動終端也都由Bootrom引導(dǎo)啟動,支持了手機(jī)在無系統(tǒng)軟件程序核心時的有效加載功能,避免了由于系統(tǒng)軟件程序失敗導(dǎo)致手機(jī)徹底癱瘓的情況。
另外,步驟301可以在移動終端出廠時進(jìn)行設(shè)置,當(dāng)移動終端每次啟動時,都遵循出廠設(shè)置進(jìn)行,無需每次啟動重新加以設(shè)置。
實施例4以(Nand Flash+RAM)模式作為存儲方式,在移動終端正常運行時的移動終端軟件自動加載方法。
如圖7所示,包括以下步驟步驟401、在Nand Flash空間中設(shè)置Bootrom的存儲空間,預(yù)留部分空間供文件系統(tǒng)使用,并在文件系統(tǒng)的指定目錄下設(shè)置預(yù)留存儲空間,作為vxWorks系統(tǒng)軟件程序的存儲空間;在RAM空間中設(shè)置Bootrom和vxWorks系統(tǒng)軟件程序的代碼運行空間和數(shù)據(jù)運行空間;步驟402、運行的vxWorks系統(tǒng)軟件程序定時掃描移動通信網(wǎng)絡(luò)上或外接的存儲設(shè)備;步驟403、檢測是否存在更新版本,是則執(zhí)行步驟404,否則保持運行現(xiàn)有的vxWorks系統(tǒng)軟件程序并結(jié)束;步驟404、運行的vxWorks系統(tǒng)軟件程序通過USB接口或串口或射頻接口,從移動通信網(wǎng)絡(luò)或外接存儲設(shè)備下載該更新版本;步驟405、使用與當(dāng)前運行的vxWorks系統(tǒng)軟件程序不同的文件名稱或者路徑名稱,將更新版本存儲在文件系統(tǒng)指定目錄下的預(yù)留存儲空間中;步驟406、設(shè)置所述更新版本為移動終端啟動時運行的目標(biāo),即當(dāng)移動終端下一次啟動時,運行更新后的vxWorks版本,結(jié)束。
其中,步驟406中可以以腳本文件的形式設(shè)置所述更新版本為實際啟動的系統(tǒng)軟件程序。
由于文件系統(tǒng)中可以同時存在多個vxWorks程序,以不同的文件名或所在目錄路徑進(jìn)行區(qū)別,因此可以以腳本文件的形式將指定目錄下的特定vxWorks程序作為實際需要啟動的目標(biāo)。這樣在下次啟動時,系統(tǒng)將運行更新后的vxWorks程序,達(dá)到系統(tǒng)動態(tài)升級的效果。
步驟406之后還可以包括通過修改所述腳本文件,切換實際啟動的vxWorks系統(tǒng)軟件程序,達(dá)到在升級失敗時的系統(tǒng)恢復(fù)功能。
其中,步驟401可以在移動終端出廠時進(jìn)行設(shè)置,當(dāng)移動終端每次啟動時,都遵循出廠設(shè)置進(jìn)行,無需每次檢測更新程序時重新加以設(shè)置。
通過上述實施例1-4,可以看出,通過本發(fā)明提供的移動終端軟件自動加載的方法,實現(xiàn)了在手機(jī)啟動或正常運行時,系統(tǒng)軟件程序的動態(tài)更新,為手機(jī)用戶提供了便捷的軟件更新途徑,也為手機(jī)廠商提供了動態(tài)升級軟件程序的方法;在啟動時由啟動軟件加以引導(dǎo),支持了手機(jī)在無系統(tǒng)軟件程序核心時的有效加載功能;每次啟動時都由啟動軟件加以引導(dǎo),避免了由于系統(tǒng)軟件程序失敗導(dǎo)致手機(jī)徹底癱瘓的情況;進(jìn)一步的,使用腳本文件進(jìn)行手機(jī)系統(tǒng)軟件程序的配置,實現(xiàn)了手機(jī)系統(tǒng)軟件程序的多版本切換。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種移動終端軟件自動加載的方法,其特征在于,包括以下步驟步驟1、設(shè)置移動終端開機(jī)啟動軟件和系統(tǒng)軟件程序的存儲空間及運行空間;步驟2、所述移動終端檢測是否更新系統(tǒng)軟件程序,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束;步驟3、所述移動終端通過通訊端口下載更新的系統(tǒng)軟件程序并存儲在所述系統(tǒng)軟件程序的存儲空間中,結(jié)束。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟1具體為在Nor Flash空間中設(shè)置所述系統(tǒng)軟件程序的存儲空間。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟1還包括在Nor Flash空間中設(shè)置所述開機(jī)啟動軟件的存儲空間;在所述開機(jī)啟動軟件和系統(tǒng)軟件程序的存儲空間中分別設(shè)置開機(jī)啟動軟件和系統(tǒng)軟件程序的代碼運行空間;在RAM空間中設(shè)置所述開機(jī)啟動軟件和所述系統(tǒng)軟件程序的數(shù)據(jù)運行空間。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,當(dāng)移動終端開機(jī)時,所述步驟2具體為步驟21、所述開機(jī)啟動軟件檢測系統(tǒng)軟件程序存儲空間中的程序是否為有效的系統(tǒng)軟件程序,包括識別所述系統(tǒng)軟件程序的版本、大小是否與所支持的移動終端硬件版本信息兼容,是則執(zhí)行步驟22,否則執(zhí)行步驟3;步驟22、所述開機(jī)啟動軟件檢測所述系統(tǒng)軟件是否被設(shè)置為加載更新程序的模式,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟3具體為所述開機(jī)啟動軟件通過USB接口或串口,從外接的存儲設(shè)備中下載更新的系統(tǒng)軟件程序并存儲在所述系統(tǒng)軟件程序的存儲空間中,運行所述更新的系統(tǒng)軟件程序。
6.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,當(dāng)系統(tǒng)軟件程序運行時,所述步驟2具體為所述運行的系統(tǒng)軟件程序定時掃描移動通信網(wǎng)絡(luò)上或外接的存儲設(shè)備,檢測是否存在更新版本,是則執(zhí)行步驟3,否則保持運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟3具體為所述運行的系統(tǒng)軟件程序通過USB接口或串口或射頻接口,從移動通信網(wǎng)絡(luò)或外接存儲設(shè)備下載所述更新版本并存儲在所述系統(tǒng)軟件程序的存儲空間中,覆蓋所述運行的系統(tǒng)軟件程序。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟1具體為在Nand Flash空間中預(yù)留部分空間供文件系統(tǒng)使用,并在文件系統(tǒng)的指定目錄下設(shè)置預(yù)留存儲空間,作為所述系統(tǒng)軟件程序的存儲空間。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述步驟1還包括在Nand F1ash空間中設(shè)置所述開機(jī)啟動軟件的存儲空間,在RAM空間中設(shè)置所述開機(jī)啟動軟件和所述系統(tǒng)軟件程序的代碼運行空間和數(shù)據(jù)運行空間。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,當(dāng)移動終端開機(jī)時,所述步驟2具體為步驟21′、所述開機(jī)啟動軟件檢測所述指定目錄下是否存在系統(tǒng)軟件程序,是則執(zhí)行步驟22′,否則執(zhí)行步驟3;步驟22′、所述開機(jī)啟動軟件檢測所述預(yù)留存儲空間中的程序是否為有效的系統(tǒng)軟件程序,包括識別所述系統(tǒng)軟件程序的版本、大小是否與所支持的移動終端硬件版本信息兼容,是則執(zhí)行步驟23′,否則執(zhí)行步驟3;步驟23′、所述開機(jī)啟動軟件檢測所述系統(tǒng)軟件是否被設(shè)置為加載更新程序的模式,是則執(zhí)行步驟3,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述步驟3具體為所述開機(jī)啟動軟件通過USB接口或串口,從外接的存儲設(shè)備中下載更新的系統(tǒng)軟件程序并存儲在所述文件系統(tǒng)指定目錄下的預(yù)留存儲空間中,運行所述更新的系統(tǒng)軟件程序。
12.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,當(dāng)系統(tǒng)軟件程序運行時,所述步驟2具體為所述運行的系統(tǒng)軟件程序定時掃描移動通信網(wǎng)絡(luò)上或外接的存儲設(shè)備,檢測是否存在更新版本,是則執(zhí)行步驟3,否則保持運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述步驟3具體為所述運行的系統(tǒng)軟件程序通過USB接口或串口或射頻接口,從移動通信網(wǎng)絡(luò)或外接存儲設(shè)備下載所述更新版本,并使用與所述運行的系統(tǒng)軟件程序不同的文件名稱或者路徑名稱,將所述更新版本存儲在所述文件系統(tǒng)指定目錄下的預(yù)留存儲空間中;設(shè)置所述更新版本為移動終端啟動時運行的系統(tǒng)軟件程序。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,以設(shè)置腳本文件的形式設(shè)置所述更新版本為移動終端啟動時運行的系統(tǒng)軟件程序。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述步驟3之后還包括通過修改所述腳本文件,切換移動終端啟動時運行的系統(tǒng)軟件程序。
全文摘要
本發(fā)明公開了一種移動終端軟件自動加載的方法,包括設(shè)置移動終端開機(jī)啟動軟件和系統(tǒng)軟件程序的存儲空間及運行空間;所述移動終端檢測是否更新系統(tǒng)軟件程序,是則所述移動終端通過通訊端口下載更新的系統(tǒng)軟件程序并存儲在所述系統(tǒng)軟件程序的存儲空間中,否則運行現(xiàn)有的系統(tǒng)軟件程序并結(jié)束。通過本發(fā)明公開的方法,實現(xiàn)了在手機(jī)啟動或正常運行時,系統(tǒng)軟件程序的動態(tài)更新,為手機(jī)用戶提供了便捷的軟件更新途徑,也為手機(jī)廠商提供了動態(tài)升級軟件程序的方法;支持了手機(jī)在無系統(tǒng)軟件程序核心時的有效加載功能;避免了由于系統(tǒng)軟件程序失敗導(dǎo)致手機(jī)徹底癱瘓的情況;實現(xiàn)了手機(jī)系統(tǒng)軟件程序的多版本切換。
文檔編號G06F9/445GK1858707SQ20061005846
公開日2006年11月8日 申請日期2006年3月28日 優(yōu)先權(quán)日2006年3月28日
發(fā)明者宗陽 申請人:華為技術(shù)有限公司