一種非智慧型手機及升級其系統程序的方法
2023-07-25 18:57:06 2
專利名稱:一種非智慧型手機及升級其系統程序的方法
技術領域:
本發明屬於移動通訊領域,尤其涉及一種非智慧型手機及升級其系統程序的方法。
背景技術:
隨著手持移動終端的發展,用戶對移動終端功能的要求也越來越多,越來越複雜,這樣使得對移動終端系統軟體升級的需求也越來越大。用戶經常期望獲得更新、更豐富的應用,但是應用程式的複雜化也就會增大移動終端的系統程序發生缺陷的概率。比如,當前的系統程序無法支持某些應用程式,該應用程式便無法運行,那麼該應用程式所對應的功能也就無法使用,而通常只有升級系統程序才能解決這些問題。現有技術中,升級系統程序通常需要採用特殊數據線連接,並需要安裝有相應的驅動程序和升級軟體的電腦才能完成。本發明的發明人在對現有技術進行研究和實驗過程中發現由於需要電腦、數據線等設備,因此對硬體設備要求較高,其次,需要安裝特定的應 用軟體及驅動程序,可能存在驅動程序不兼容的問題,且操作繁瑣,不便於用戶的操作。而在現有技術中,有通過SD卡對智慧型手機進行系統程序的升級的方案,但是發明人發現採用SD卡對智慧型手機的升級方法,無法對非智慧型手機(也稱為功能手機(Feature Phone))的系統程序進行升級。
發明內容
本發明為解決現有技術中對非智慧型手機的系統程序進行升級所存在的技術問題,提供非智慧型手機及升級其系統程序的方法,能夠簡便、快捷、可靠地對非智慧型手機進行升級。本發明提供一種非智慧型手機升級系統程序的方法,所述手機包括存儲有手機系統升級程序的SD卡、時鐘模塊標誌寄存器,所述方法包括以下步驟
當檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下;
當所述特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中並運行系統程序;
當所述特定組合鍵未被按下時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位,如果否,將備份模式的標誌位寫入時鐘模塊標誌寄存器並運行系統程序;如果是,讀取SD卡中的手機系統升級程序鏡像文件並寫入手機,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機;
當運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位,如果是,將手機中的射頻校準數據進行備份並寫入SD卡中,將下載模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機;如果否,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位;
當所述時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取存儲在SD卡中的射頻校準數據並保存,將正常模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機;當所述時鐘模塊標誌寄存器中為非恢復模式的標誌位時,手機正常開機。本發明還提供一種非智慧型手機,所述手機中可插入SD卡,所述SD卡中存儲有手機系統升級程序,所述手機包括時鐘模塊標誌寄存器、第一檢測模塊、第二檢測模塊、第一判斷模塊、執行模塊、第一寫入模塊、第二寫入模塊、第二判斷模塊、第三判斷模塊、讀取模塊、保存模塊以及重啟模塊;
第一檢測模塊,用於檢測手機是否開機;
第二檢測模塊,用於當第一檢測模塊檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下;
第一判斷模塊,用於當第二檢測模塊檢測到手機的特定組合鍵未被按下時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位;
執行模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中為非下載模式的標誌位或 者第二寫入模塊向時鐘模塊標誌寄存器中寫入備份模式的標誌位時,運行系統程序;
第二判斷模塊,當所述執行模塊運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位;
第一寫入模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為備份模式的標誌位時,將手機中的射頻校準數據進行備份並寫入SD卡中;
第三判斷模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為非備份模式的標誌位時,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位;
讀取模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中寫入下載模式的標誌位時,讀取SD卡中的手機系統升級程序鏡像文件,以及用於當第三判斷模塊得到時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取存儲在SD卡中的射頻校準數據;
保存模塊,用於保存讀取模塊讀取到的手機系統升級程序鏡像文件以及存儲在SD卡中的射頻校準數據;
第二寫入模塊,用於當第二檢測模塊檢測到手機的特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊保存SD卡中的手機系統升級程序鏡像文件時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,或者將手機中的射頻校準數據進行備份並寫入SD卡中時,將下載模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊中存儲在SD卡中的射頻校準數據時,將正常模式的標誌位寫入時鐘模塊標誌寄存器中;
重啟模塊,用於當第二寫入模塊將恢復模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將下載模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將正常模式的標誌位寫入時鐘模塊標誌寄存器中時,重新開機。本發明還提供一種非智慧型手機,所述手機可插入SD卡,所述SD卡中存儲有手機系統升級程序,所述手機包括時鐘模塊標誌寄存器、第一檢測模塊、第二檢測模塊、第三檢測模塊、第一判斷模塊、執行模塊、第一寫入模塊、第二寫入模塊、第二判斷模塊、第三判斷模塊、讀取模塊、保存模塊以及重啟模塊;
第一檢測模塊,用於檢測手機是否開機;
第二檢測模塊,用於當第一檢測模塊檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下;第三檢測模塊,用於當第二檢測模塊檢測到手機的特定組合鍵未被按下時,檢測時鐘模塊是否曾經掉電;
第一判斷模塊,用於當第三檢測模塊檢測到時鐘模塊未曾經掉電時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位;
執行模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中為非下載模式的標誌位時,或者第二寫入模塊向時鐘模塊標誌寄存器中寫入備份模式的標誌位時,或者第三檢測模塊檢測到時鐘模塊曾經掉電時,運行系統程序;
第二判斷模塊,當運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位;
第一寫入模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為備份模式的標誌位時,將手機中的射頻校準數據進行備份並寫入SD卡中;· 第三判斷模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為非備份模式的標誌位時,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位;
讀取模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中寫入下載模式的標誌位時,讀取SD卡中的手機系統升級程序鏡像文件,以及用於當第三判斷模塊得到時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取存儲在SD卡中的射頻校準數據;
保存模塊,用於保存讀取模塊讀取到的手機系統升級程序鏡像文件以及存儲在SD卡中的射頻校準數據;
第二寫入模塊,用於當第二檢測模塊檢測到手機的特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊保存SD卡中的手機系統升級程序鏡像文件時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,或者將手機中的射頻校準數據進行備份並寫入SD卡中時,將下載模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊中存儲在SD卡中的射頻校準數據時,將正常模式的標誌位寫入時鐘模塊標誌寄存器中;
重啟模塊,用於當第二寫入模塊將恢復模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將下載模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將正常模式的標誌位寫入時鐘模塊標誌寄存器中時,重新開機。從本發明升級系統程序的方案可以看出,通過時鐘模塊標誌寄存器對四種模式的標誌位進行記錄,從SD卡中下載升級程序手機系統程序鏡像文件之前,先將射頻校準程序數據進行備份,從SD卡中下載手機系統升級程序鏡像文件並將系統程序更新為手機系統升級程序之後再將射頻校準程序數據重新保存到手機的內存中,使得非智慧型手機可以正常地進行系統程序升級,且用戶僅需要將存儲有所需升級文件的SD卡插入手機,按下預設特定組合鍵即可完成所有升級過程,操作簡便易行。並且,由於採用現今幾乎是手機標準配置的SD卡,而SD卡在全球有統一標準,從而可以克服目前升級軟體不兼容的缺點。傳統通過電腦串口升級手機系統軟體,速度通常只有112. 5KB /S。而一張6級(class6)的SD卡讀取速度能夠達到6MB/s,即使是2級(class2)的SD卡也能達到2MB/s,故採用SD卡升級高速可靠。綜上,採用上述方案可以簡便、快捷、可靠地對非智慧型手機進行系統軟體升級,且兼容性較好。
圖I為本發明非智慧型手機工作狀態示意圖。圖2為本發明非智慧型手機升級方法第一種實施例的流程示意圖。圖3為本發明非智慧型手機升級方法第二種實施例的流程示意圖。圖4為本發明非智慧型手機從SD卡中讀取手機系統升級程序的方法一種實施例的流程示意圖。圖5為本發明非智慧型手機第一種實施例的結構框圖。圖6為本發明非智慧型手機第二種實施例的結構框圖。
具體實施例方式為了使本發明所解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。本發明的發明人發現,由於非智慧型手機的內存通常是非常有限的,無法為數據劃分一個固定的地址區域,只有在系統程序正常運行的情況下,才能取得準確的射頻校準數據。非智慧型手機的內存空間主要用於存儲引導程序(bootloader)、系統程序,剩餘的少量存儲空間用戶可用。並且,系統程序無法自己升級,需要通過引導程序將手機系統升級程序保存在內存空間從而來實現升級,但是非智慧型手機的系統程序和射頻校準數據是糅合在一起的,在對系統程序進行更新的同時也將覆蓋射頻校準數據,因此會導致射頻校準數據的丟失。在正常情況下系統開機上電後會首先執行引導程序,之後加載並運行系統程序,手機重啟後所有的程序都會復位。如圖I所示,為了實現對非智慧型手機進行系統升級,本發明中將手機系統運行的狀態劃分成四種模式備份模式、下載模式、恢復模式、正常模式,而且以上四種模式可以順次切換。其中,在備份模式下,可以對射頻校準數據進行備份;在下載模式下,可以讀取SD卡中的手機系統升級程序鏡像文件並將該手機系統升級程序保存在手機內存中;在恢復模式下,可以將在SD卡中備份的射頻校準數據重新寫入手機內存中,使得射頻校準數據不會丟失,系統程序升級成功;在正常模式下,手機正常開機。另外手機中的時鐘模塊(RTC,Real Time Clock)主要用於計時,通常手機在關機狀態下,手機上的時間還是要繼續運行的,只要時鐘模塊不掉電,即手機中的電池沒有被拔下,那麼時鐘模塊即會正常工作的,因此設置每種模式對應的標誌位,通過時鐘模塊寄存器記錄當前模式的標誌位,當手機重啟後,系統便可以根據時鐘模塊寄存器中記錄的標誌位,確定系統運行在哪種狀態下。以下通過具體實施例說明如何採用SD卡對非智慧型手機進行系統升級,參照圖2,本發明提供第一種實施例的非智慧型手機通過SD卡升級系統程序的方法,該方法包括以下步驟
步驟SOl,檢測到手機開機,進入步驟S02 ;
步驟S02,通過引導程序檢測該手機的特定組合鍵是否被按下,如果是,進入步驟S03 ;如果否,進入步驟S04 ;步驟S03,將備份模式的標誌位寫入時鐘模塊標誌寄存器中,進入步驟S05 ;
步驟S04,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位,如果否,進入步驟S05 ;如果是,進入步驟S06 ;
步驟S05,運行系統程序,進入步驟S09 ;
步驟S06,讀取SD卡中的手機系統升級程序鏡像文件並寫入手機,進入步驟S07 ;
步驟S07,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,進入步驟S08 ;
步驟S08,重新開機,進入步驟SOl ;
步驟S09,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位,如果是,進入步驟S10,如果否,進入步驟S12 ;
步驟S10,將手機中的射頻校準數據進行備份並寫入SD卡中,進入步驟Sll ;
步驟S11,將下載模式的標誌位寫入時鐘模塊標誌寄存器中,進入步驟S08 ;
步驟S12,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位,如果是,進入步驟S13,如果否,進入步驟S15 ;
步驟S13,讀取存儲在SD卡中的射頻校準數據並保存,進入步驟S14 ;
步驟S14,將正常模式的標誌位寫入時鐘模塊標誌寄存器中,進入步驟S08 ;
步驟S15,當所述時鐘模塊標誌寄存器中為非恢復模式的標誌位時,手機正常開機。從以上方案可以看出,在手機開機時,如果所述特定組合鍵被按下,將備份模式的標誌位便寫入時鐘模塊標誌寄存器中,接著運行系統程序,此時時鐘模塊標誌寄存器中為備份模式的標誌位,那麼手機系統處於備份模式,便可以對射頻校準數據進行備份,以防止在升級的過程中射頻校準數據的丟失,同時由於手機系統運行的狀態為如下順序備份模式、下載模式、恢復模式、正常模式,因此,在對射頻校準數據進行備份後便可以將下載模式的標誌位寫入時鐘模塊標誌寄存器中,接著重新開機,那麼系統可以重新進入引導程序,所述特定組合鍵未被按下,此時時鐘模塊標誌寄存器中為下載模式的標誌位,那麼手機系統處於下載模式,便可以從SD卡中讀取手機系統升級程序鏡像文件並將手機系統升級程序保存在手機的內存中即將原有的系統程序更新為SD卡中的手機系統升級程序,當手機系統程序鏡像文件完全寫入手機的內存中時,便可以將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,接著再次開機,此時所述特定組合鍵未被按下,運行系統程序且時鐘模塊標誌寄存器中為恢復模式的標誌位,便可以將備份的射頻校準數據重新寫入到手機的內存中,使得射頻校準數據不會丟失,並將正常模式的標誌位寫入時鐘模塊標誌寄存器中,接著重新開機,此時時鐘模塊標誌寄存器中為正常模式的標誌位,因此手機正常開機,同時手機的內存中同時保存射頻校準數據和手機系統升級程序,使得非智慧型手機的系統程序升級成功。上述過程共需要4次開機過程,但是對用戶來說,僅需要將存儲有所需升級文件的SD卡插入手機,按下預設特定組合鍵即可完成所有升級過程,操作簡便易行。並且,由於採用現今幾乎是手機標準配置的SD卡,而SD卡在全球有統一標準,從而可以克服目前升級軟體不兼容的缺點。傳統通過電腦串口升級手機系統軟體,速度通常只有112. 5KB /S。而一張6級(class6)的SD卡讀取速度能夠達到6MB/s,即使是2級(class2)的SD卡也能達到2MB/s,故採用SD卡升級高速可靠。在具體實施中,可以對上述方案作進一步擴展和優化,例如,如果時鐘模塊曾經掉電了,那麼時鐘模塊保存的信息也就可能發生錯誤,為避免上述錯誤,當所述特定組合鍵未被按下時,可以執行以下步驟,
檢測時鐘模塊是否曾經掉電,如果是,執行所述運行系統程序的步驟;如果否,執行所述引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位的步驟。在具體實施中,如圖3所示,還提供第二種實施例的非智慧型手機通過SD卡升級系統程序的方法,具體的,在步驟S02之後,還包括以下步驟,如果步驟S02的判斷結果為否,進入步驟S16 ;
步驟S16,檢測時鐘模塊是否曾經掉電,如果是,進入步驟S05 ;如果否,進入步驟S04。進一步,為了確保手機能順利升級成功準確性,第二種實施例的非智慧型手機升級系統程序的方法,還包括以下步驟,步驟S06之後,進入步驟S18。步驟S18,判斷升級是否成功,如果否,進入步驟S08,停止升級;如果是,進入步驟S07,使得在確認升級成功之後,再將正常模式的標誌位寫入時鐘模塊標誌寄存器中,以便··於升級成功的系統程序能正常工作。為了能讓用戶及時了解手機的升級狀態,在升級過程中還可對升級狀態及升級結果進行顯示,
例如,本實施例中,具體步驟如下,在步驟S18之後,如果否,則升級不成功,進入步驟S19 ;如果是,進入步驟S20 ;
步驟S19,顯示序錯誤提示,進入步驟S08,重新開機,停止升級;
此時由於手機界面上會顯示程序錯誤提示,此時的重新開機可以通過用戶操作進行,也可以是系統自動控制而進行的。步驟S20,顯示升級的進度以及升級成功,進入步驟S07。在具體實施中,由於非智慧型手機內存空間的限制,可能無法在引導程序中加入完整的手機系統升級程序鏡像文件以進行升級,另外,系統確定了需要操作的文件的第一簇後需要基於文件分配表中的鍊表查找所需的簇的地址,這個操作需要頻繁地讀取SD卡數據並伴隨大量的計算,非常耗時,為進一步提高升級效率,如圖4所示,本發明提供一種實施例的讀取SD卡中的手機系統升級程序鏡像文件並寫入手機的方法,具體包括以下步驟
步驟S010,讀取SD卡中手機系統升級程序鏡像文件的文件分配表並保存在預設的緩存中;
步驟S011,獲取手機系統升級程序鏡像文件的當前簇號仏(在初始狀態下i=l),並根據該簇號Ai,獲取該簇號Ai所對應的物理地址,從文件分配表中獲取該簇號Ai對應的內容;步驟S012,根據所述當前簇號Ai所對應的物理地址,讀取該物理地址所對應的手機系統升級程序鏡像文件片段並保存;
步驟S013,根據從文件分配表中獲取該簇號Ai所對應的內容,判斷手機系統升級程序鏡像文件是否結束,如果否,進入步驟S014 ;如果是,進入步驟S016 ;
步驟S014,根據當前簇號Ai所對應的內容獲取手機系統升級程序鏡像文件的下一簇號Ai+1,進入步驟S015 ;
步驟S015,變量i自加一,進入步驟SOll,
步驟SO16,程序讀取結束。對於步驟S010,為了避免頻繁的對SD卡進行讀操作,預設緩存的空間是從用戶可用的內存裡劃出部分空間而形成的,而用戶可用的內存本身非常有限,無法將整個文件分配表載入內存,因此採用將整個文件分配表的部分內容保存在預設的緩存中,通過預設的緩存可以預測一下整個文件分配表中哪塊內容是即將頻繁訪問的,只將這塊內容載入預設的緩存即可,而且由於非智慧型手機是單線程的,升級過程僅需要對手機系統升級程序鏡像文件進行單向的從頭到尾的讀取操作,所以緩存的有效利用率會非常高,因此,在本實施例中的方案中,可以認為,當根據當前簇號Ai從緩存的文件分配表中獲取當前簇號Ai所對應的內容時,緩存的文件分配表中均能找到當前簇號Ai所對應的內容。當然當根據當前簇號Ai從緩存的文件分配表中獲取當前簇號Ai所對應的內容,而緩存的文件分配表中無法找到當前簇號Ai所對應的內容時,只要更新一下緩存中文件分配表的內容,那麼當前簇號Ai所對應的內容便可以找到。因此通過將文件分配表保存在緩存中的方案,可以避免頻繁地對SD卡進行讀操作,同時通過以簇的方式都對手機系統升級程序鏡像文件的內容進行讀取,可以避免大量的計算,從而可以節省時間,實現更高效快捷地升級。對於步驟S011,手機系統升級程序鏡像文件的第一簇號A1可以保存在SD卡手機
系統升級程序鏡像文件的根目錄中,因此手機系統升級程序鏡像文件的第一簇號可以直接從根目錄中獲取。為了實現系統程序的升級,本發明還提供第一種實施例的非智慧型手機,如圖5所示,所述手機中可插入SD卡,所述手機包括時鐘模塊標誌寄存器(圖上未示出),還包括第一檢測模塊I、第二檢測模塊2、第一判斷模塊3、執行模塊5、第一寫入模塊4、第二寫入模塊
6、第二判斷模塊7、第三判斷模塊8、讀取模塊9、保存模塊10以及重啟模塊11 ;
第一檢測模塊1,用於檢測手機是否開機;
第二檢測模塊2,用於當第一檢測模塊I檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下;
第一判斷模塊3,用於當第二檢測模塊2檢測到該手機的特定組合鍵未被按下時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位;
執行模塊5,用於第一判斷模塊3得到時鐘模塊標誌寄存器中為非下載模式的標誌位時或者當第二寫入模塊6向時鐘模塊標誌寄存器中寫入備份模式的標誌位時,運行系統程序;
第二判斷模塊7,當所述執行模塊5運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位;
第一寫入模塊4,用於當第二判斷模塊7得到時鐘模塊標誌寄存器中為備份模式的標誌位時,將當前的射頻校準數據寫入SD卡中;
第三判斷模塊8,用於當第二判斷模塊7得到時鐘模塊標誌寄存器中為非備份模式的標誌位時,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位;
讀取模塊9,用於當第一判斷模塊3得到時鐘模塊標誌寄存器中寫入下載模式的標誌位時,讀取SD卡中的手機系統升級程序鏡像文件,以及用於當第三判斷模塊8得到時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取在SD卡中的射頻校準數據;
保存模塊10,用於保存讀取模塊9讀取到的手機系統升級程序鏡像文件以及射頻校準數據;
第二寫入模塊6,當第二檢測模塊2檢測到該手機的特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊10保存SD卡中的手機系統升級程序鏡像文件時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,或者當將射頻校準數據寫入SD卡中時,將下載模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊10中保存射頻校準數據時,將正常模式的標誌位寫入時鐘模塊標誌寄存器中;
重啟模塊11,用於當第二寫入模塊6將恢復模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊6將下載模式的標誌位寫入時鐘模塊標誌寄存器中時;或者當第二寫入模塊6將正常模式的標誌位寫入時鐘模塊標誌寄存器中時,重新開機。從以上的方案中可以看出,通過時鐘模塊標誌寄存器對四種模式的標誌位進行記錄,以及從SD卡中下載手機系統升級程序鏡像文件之前,先將射頻校準數據進行備份,而且從SD卡中下載手機系統升級程序鏡像文件之後將射頻校準數據重新保存到手機的內存中,使得非智慧型手機可以正常地進行系統程序升級。進一步,為了確保手機系統升級程序鏡像文件的準確性,本實施例中,所述手機還包括第四判斷模塊12 ;
第四判斷模塊12,用於當保存模塊10保存SD卡中的手機系統升級程序鏡像文件之後,判斷升級是否成功;
重啟模塊11,還用於當第四判斷模塊12得到升級不成功時,重新開機;
第二寫入模塊6,還用於當保存模塊10保存SD卡中的手機系統升級程序鏡像文件且升級成功時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中。進一步,為了能讓用戶及時了解手機的升級狀態,本實施例中,所述手機還包括用於顯示第四判斷模塊12的判斷結果的顯示模塊13。在具體實施中,為了避免頻繁的對SD卡進行讀操作,避免大量的計算從而節省時間,所述讀取模塊9包括第一讀取單元、第一保存單元、第一獲取單元、第二獲取單元、第二讀取單元、第二保存單元以及判斷單元,保存模塊10包括第一保存單元和第二保存單元;
第一讀取單元,用於從SD卡中讀取手機系統升級程序鏡像文件的文件分配表;
第一保存單元,用於保存第一讀取單元讀取到的文件分配表;
第一獲取單元,用於獲取手機系統升級程序鏡像文件的當前簇號,以及當接收判斷單元的判斷信號時,根據第二獲取單元中當前簇號所對應的內容獲取手機系統升級程序鏡像文件的下一簇號;
第二獲取單元,用於根據第一獲取單元中的簇號,獲取該簇號對應的物理地址以及從第一存儲單元的文件分配表中獲取該簇號對應的內容;
第二讀取單元,用於根據第二獲取單元中物理地址,讀取該物理地址所對應的手機系統升級程序鏡像文件;
第二保存單元,用於保存第二讀取單元讀取到的手機系統升級程序鏡像文件,
判斷單元,用於根據從第一保存單元的文件分配表中獲取該簇號對應的內容,判斷手機系統升級程序鏡像文件是否結束,如果否,輸出判斷信號給第一獲取單元。對於保存模塊10也就是手機的內存,包括引導程序、系統程序以及用戶可用的存儲空間,其中第一保存單元也就是預設的緩存空間,用於保存文件分配表,而第二保存單元用於保存系統程序以及射頻校準數據,升級後的第二保存單元還用於保存第二讀取單元讀取到的手機系統升級程序鏡像文件,從而實現系統程序的升級。進一步,如果時鐘模塊曾經掉電了,那麼時鐘模塊保存的信息也就發生錯誤,為防止在升級的過程中發生錯誤,本發明還提供第二種實施例的非智慧型手機,如圖6所示,與第一種實施例的非智慧型手機相比的不同點在於,所述手機還包括第三檢測模塊14,用於當第二檢測模塊2檢測到手機的特定組合鍵未被按下時,檢測時鐘模塊是否曾經掉電;
第一判斷模塊3,用於當第三檢測模塊14檢測到時鐘模塊未曾經掉電時,引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位;
執行模塊5,用於第一判斷模塊3得到時鐘模塊標誌寄存器中為非下載模式的標誌位時,或者當第二 寫入模塊6向時鐘模塊標誌寄存器中寫入備份模式的標誌位時,或者第三檢測模塊14檢測到時鐘模塊曾經掉電時,運行系統程序。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種非智慧型手機升級系統程序的方法,所述手機包括存儲有手機系統升級程序的SD卡、時鐘模塊標誌寄存器,其特徵在於,所述方法包括以下步驟 當檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下; 當所述特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中並運行系統程序; 當所述特定組合鍵未被按下時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位,如果否,將備份模式的標誌位寫入時鐘模塊標誌寄存器並運行系統程序;如果是,讀取SD卡中的手機系統升級程序鏡像文件並寫入手機,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機; 當運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位,如果 是,將手機中的射頻校準數據進行備份並寫入SD卡中,將下載模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機;如果否,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位; 當所述時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取存儲在SD卡中的射頻校準數據並保存,將正常模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機; 當所述時鐘模塊標誌寄存器中為非恢復模式的標誌位時,手機正常開機。
2.如權利要求I所述的方法,其特徵在於,當所述特定組合鍵未被按下時,還包括以下步驟 檢測時鐘模塊是否曾經掉電,如果是,執行所述運行系統程序的步驟;如果否,執行所述引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位的步驟。
3.如權利要求I所述的方法,其特徵在於,所述讀取SD卡中的手機系統升級程序鏡像文件並並寫入手機,具體包括以下步驟 讀取SD卡中手機系統升級程序鏡像文件的文件系統的文件分配表並保存; 獲取手機系統升級程序鏡像文件的當前簇號,根據該簇號,獲取該簇號所對應的物理地址,並從文件分配表中獲取該簇號對應的內容; 根據所述當前簇號所對應的物理地址,讀取該物理地址所對應的手機系統升級程序鏡像文件片段並保存; 根據從文件分配表中獲取該簇號所對應的內容,判斷手機系統升級程序鏡像文件是否結束,如果否,根據當前簇號所對應的內容獲取手機系統升級程序鏡像文件的下一簇號,根據手機系統升級程序鏡像文件的下一簇號,獲取所述下一簇號的物理地址,從文件分配表中獲取該簇號對應的內容,並根據所述下一簇號的物理地址,讀取該物理地址所對應的手機系統升級程序鏡像文件片段並保存。
4.如權利要求I所述的方法,其特徵在於,在讀取SD卡中的手機系統升級程序鏡像文件並寫入手機的步驟之後,還包括以下步驟 判斷升級是否成功,如果否,重新開機;如果是,執行所述將恢復模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機的步驟。
5.如權利要求4所述的方法,其特徵在於,在所述判斷升級是否成功的步驟後,還包括以下步驟 顯示系統程序更新是否成功。
6.一種非智慧型手機,所述手機中可插入SD卡,其特徵在於,所述SD卡中存儲有手機系統升級程序,所述手機包括時鐘模塊標誌寄存器,第一檢測模塊、第二檢測模塊、第一判斷模塊、執行模塊、第一寫入模塊、第二寫入模塊、第二判斷模塊、第三判斷模塊、讀取模塊、保存模塊以及重啟模塊; 第一檢測模塊,用於檢測手機是否開機; 第二檢測模塊,用於當第一檢測模塊檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下; 第一判斷模塊,用於當第二檢測模塊檢測到手機的特定組合鍵未被按下時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位; 執行模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中為非下 載模式的標誌位或者第二寫入模塊向時鐘模塊標誌寄存器中寫入備份模式的標誌位時,運行系統程序; 第二判斷模塊,當所述執行模塊運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位; 第一寫入模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為備份模式的標誌位時,將手機中的射頻校準數據進行備份並寫入SD卡中; 第三判斷模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為非備份模式的標誌位時,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位; 讀取模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中寫入下載模式的標誌位時,讀取SD卡中的手機系統升級程序鏡像文件,以及用於當第三判斷模塊得到時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取存儲在SD卡中的射頻校準數據; 保存模塊,用於保存讀取模塊讀取到的手機系統升級程序鏡像文件以及存儲在SD卡中的射頻校準數據; 第二寫入模塊,用於當第二檢測模塊檢測到手機的特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊保存SD卡中的手機系統升級程序鏡像文件時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,或者將手機中的射頻校準數據進行備份並寫入SD卡中時,將下載模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊中存儲在SD卡中的射頻校準數據時,將正常模式的標誌位寫入時鐘模塊標誌寄存器中; 重啟模塊,用於當第二寫入模塊將恢復模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將下載模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將正常模式的標誌位寫入時鐘模塊標誌寄存器中時,重新開機。
7.如權利要求6所述的非智慧型手機,其特徵在於,所述手機還包括第四判斷模塊; 第四判斷模塊,用於當保存模塊保存SD卡中的手機系統升級程序鏡像文件後,判斷升級是否成功; 所述重啟模塊,還用於當第四判斷模塊得到升級不成功時,重新開機; 第二寫入模塊,還用於當保存模塊保存SD卡中的手機系統升級程序鏡像文件且當第四判斷模塊得到升級成功時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中。
8.如權利要求7所述的非智慧型手機,其特徵在於,所述手機還包括用於顯示第四判斷模塊判斷結果的顯示模塊。
9.如權利要求6所述的非智慧型手機,其特徵在於,所述讀取模塊包括第一讀取單元,保存模塊包括第一保存單元和第二保存單元; 第一讀取單元,用於讀取SD卡中手機系統升級程序鏡像文件的文件分配表; 第一保存單元,用於保存第一讀取單元讀取到的文件分配表; 第一獲取單元,用於獲取手機系統升級程序鏡像文件的當前簇號; 第二獲取單元,用於根據第一獲取單元中的簇號,獲取該簇號對應的物理地址以及從第一保存單元的文件分配表中獲取該簇號對應的內容; 第二讀取單元,用於根據第二獲取單元中物理地址,讀取該物理地址所對應的手機系統升級程序鏡像文件片段; 第二保存單元,用於保存第二讀取單元讀取到的手機系統升級程序鏡像文件片段; 判斷單元,用於根據從第一保存單元的文件分配表中獲取的該簇號對應的內容,判斷手機系統升級程序鏡像文件是否結束,如果否,輸出判斷信號給第一獲取單元。
10.一種非智慧型手機,所述手機可插入SD卡,其特徵在於,所述SD卡中存儲有手機系統升級程序,所述手機包括時鐘模塊標誌寄存器、第一檢測模塊、第二檢測模塊、第三檢測模塊、第一判斷模塊、執行模塊、第一寫入模塊、第二寫入模塊、第二判斷模塊、第三判斷模塊、讀取模塊、保存模塊以及重啟模塊; 第一檢測模塊,用於檢測手機是否開機; 第二檢測模塊,用於當第一檢測模塊檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下; 第三檢測模塊,用於當第二檢測模塊檢測到手機的特定組合鍵未被按下時,檢測時鐘模塊是否曾經掉電; 第一判斷模塊,用於當第三檢測模塊檢測到時鐘模塊未曾經掉電時,通過引導程序判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位; 執行模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中為非下載模式的標誌位時,或者第二寫入模塊向時鐘模塊標誌寄存器中寫入備份模式的標誌位時,或者第三檢測模塊檢測到時鐘模塊曾經掉電時,運行系統程序; 第二判斷模塊,當運行系統程序時,判斷當前時鐘模塊標誌寄存器中是否為備份模式的標誌位; 第一寫入模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為備份模式的標誌位時,將手機中的射頻校準數據進行備份並寫入SD卡中; 第三判斷模塊,用於當第二判斷模塊得到時鐘模塊標誌寄存器中為非備份模式的標誌位時,判斷當前時鐘模塊標誌寄存器中是否為恢復模式的標誌位; 讀取模塊,用於當第一判斷模塊得到時鐘模塊標誌寄存器中寫入下載模式的標誌位時,讀取SD卡中的手機系統升級程序鏡像文件,以及用於當第三判斷模塊得到時鐘模塊標誌寄存器中為恢復模式的標誌位時,讀取存儲在SD卡中的射頻校準數據; 保存模塊,用於保存讀取模塊讀取到的手機系統升級程序鏡像文件以及存儲在SD卡中的射頻校準數據; 第二寫入模塊,用於當第二檢測模塊檢測到手機的特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊保存SD卡中的手機系統升級程序鏡像文件時,將恢復模式的標誌位寫入時鐘模塊標誌寄存器中,或者將手機中的射頻校準數據進行備份並寫入SD卡中時,將下載模式的標誌位寫入時鐘模塊標誌寄存器中,或者當保存模塊中存儲在SD卡中的射頻校準數據時,將正常模式的標誌位寫入時鐘模塊標誌寄存器中; 重啟模塊,用於當第二寫入模塊將恢復模式的標誌位寫入時鐘模塊標誌寄存器中時, 或者當第二寫入模塊將下載模式的標誌位寫入時鐘模塊標誌寄存器中時,或者當第二寫入模塊將正常模式的標誌位寫入時鐘模塊標誌寄存器中時,重新開機。
全文摘要
本發明提供了一種非智慧型手機及其升級系統程序的方法,所述手機包括存儲有手機系統升級程序的SD卡、時鐘模塊標誌寄存器,所述方法包括以下步驟當檢測到手機開機時,通過引導程序檢測手機的特定組合鍵是否被按下;當所述特定組合鍵被按下時,將備份模式的標誌位寫入時鐘模塊標誌寄存器中並運行系統程序;當所述特定組合鍵未被按下時,判斷當前時鐘模塊標誌寄存器中是否為下載模式的標誌位,如果否,運行系統程序;如果是,讀取SD卡中的升級程序並保存,以及將修復模式的標誌位寫入時鐘模塊標誌寄存器中並重新開機。上述升級系統程序的方法能對非智慧型手機的系統程序進行升級。
文檔編號G06F9/445GK102722378SQ20111007729
公開日2012年10月10日 申請日期2011年3月30日 優先權日2011年3月30日
發明者宋德亮, 張建安, 楊成雷, 王有璽, 賈媛媛 申請人:比亞迪股份有限公司