專利名稱:一種手機軟件快速更新下載的方法
技術領域:
本發(fā)明涉及一種移動通信技術領域,尤其涉及一種手機軟件快速更新下載的方法。
背景技術:
手機軟件下載是把手機軟件編譯生成的二進制目標文件,下載到手機FLASH存儲空間的過程。隨著手機功能的增多,二進制目標文件會變得越來越大,導致下載升級時間變長。在手機軟件調(diào)試過程中,手機軟件下載調(diào)試更為頻繁;在手機生產(chǎn)過程中,手機軟件如果批量更新,返工的時間成本會成倍增加。手機軟件臨近版本編譯生成的二進制目標文件存在相關性,可以找到臨近版本二進制目標文件的相同塊和差異塊。在手機軟件臨近版本改動比較小的情況下,編譯生成的二進制目標文件的相同塊就會相應增多。如果在手機軟件下載升級時只升級差異塊,這樣會節(jié)省下載升級的時間,勢必提高手機軟件的研發(fā)速度和降低手機軟件升級的生產(chǎn)成本。
發(fā)明內(nèi)容
針對已有技術升級手機軟件版本需要全部覆蓋下載的不足,本發(fā)明的發(fā)明目的是提供一種手機軟件快速更新下載的方法,它與現(xiàn)有的手機軟件更新下載方法相比,提高了手機軟件研發(fā)的調(diào)試速度、降低了手機軟件二進制目標文件在生產(chǎn)線批量更新下載升級的生產(chǎn)成本。本發(fā)明的發(fā)明目的是通過如下技術方案實現(xiàn)的。為達到上述目的,本發(fā)明一種手機軟件快速更新下載的方法,包括以下步驟選擇要更新的新版本手機軟件對應的二進制目標文件(記為FILE2.BIN);察看手機內(nèi)的軟件版本號,根據(jù)這個版本號選擇對應的二進制目標文件(記為FILE1. BIN),如果沒有這個版本號對應的二進制目標文件,那么就從手機軟件二進制目標文件在FLASH中的存儲起始位置開始,讀取和FILE2.BIN 二進制目標文件一樣大小的數(shù)據(jù)(記為FILE1. BIN);根據(jù)FLASH類型確認存儲塊的劃分規(guī)則(存儲塊的字節(jié)數(shù)大小依次記為SEC1,SEC2,SECk);確認手機軟件二進制目標文件在FLASH中存儲的起始塊位置(記為SECm);根據(jù)FILE2. BIN文件的大小確認手機軟件二進制目標文件在FLASH中存儲的結束塊位置(記為SECn);按照SECm 到SECn的(η-m+l)個SEC塊大小劃分FILE2.BIN為(η-m+l)個部分;查找二進制目標文件 FILE2.BIN和FILE1.BIN對應(η-m+l)個SEC塊中的相同塊和不同塊(相同的塊記為Si, S2,· · ·,Sg ;不同的塊記為Dl,D2,· · ·,Dj);擦除FLASH中對應Dl到Dj的SEC塊;下載更新二進制目標文件FILE2. BIN中對應Dl到Dj的數(shù)據(jù)到FLASH對應的存儲空間中,至此更新下載過程完成。
圖1是本發(fā)明的更新下載過程原理圖2是本發(fā)明的更新下載程序流程圖。
具體實施例方式下面結合附圖進一步說明本發(fā)明是如何實現(xiàn)的本發(fā)明是一種手機軟件快速更新下載的方法。首先編寫用于手機軟件二進制目標文件更新下載的應用程序;然后打開更新下載應用程序,并選擇要更新的手機軟件二進制目標文件(記為FILE2.BIN)和手機內(nèi)部版本對應的二進制目標文件(記為FILE1. BIN);通過USB串口線連接手機和計算機;在下載應用程序界面選擇所用的串口號和手機支持的最大波特率;最后啟動下載應用程序的下載功能,下載二進制目標文件FILE2. BIN和FILE1. BIN的差異部分到手機內(nèi)的FLASH存儲區(qū),完成快速更新下載功能。本發(fā)明的更新下載過程原理圖如圖1所示,確認手機軟件二進制目標文件在 FLASH中存儲的起始塊位置(記為SECm);根據(jù)要更新的手機軟件二進制目標文件FILE2. BIN文件的大小,確認FILE2. BIN在FLASH中存儲的結束塊位置(記為SECn);比較手機內(nèi)原有的二進制目標文件FILE1.BIN和要更新的手機軟件二進制目標文件FILE2.BIN的差異性,找到FILE2. BIN中的不同塊Dl, D2,…,Dj ;擦除Dl到Dj在手機FLASH內(nèi)的對應存儲區(qū);下載Dl,D2,…,Dj到手機FLASH的對應存儲區(qū)。本發(fā)明的更新下載程序流程圖如圖2所示,測試程序開始運行201 ;定義用于記錄 FLASH存儲區(qū)塊大小的整型數(shù)組SEC,并根據(jù)FLASH類型初始化該數(shù)組202 ;確認新版本手機軟件二進制目標文件在手機FLASH中存儲區(qū)的起始塊位置203 ;確認新版本手機軟件二進制目標文件在手機FLASH中存儲區(qū)的結束塊位置204 ;定義BYTE型指針pFILE1和pFILE2 分別指向目標文件FILE1. BIN和FILE2. BIN數(shù)據(jù)205 ;定義標志位數(shù)組D [8198],并初始化該數(shù)組D的默認值206 ;按照SEC[m]到SEC[n]塊的大小查找比較pFILE2和pFILEl中的數(shù)據(jù)塊,記錄不同塊207 ;定義整型變量k,并初始化208 ;判定k和η的大小209,當k大于η 時,跳轉(zhuǎn)結束213 ;判定D[k]和1的大小210,D[k]不等于1時,跳轉(zhuǎn)212,D[k]等于1時, 進入下一步211 ;擦除FLASH對應的SEC [k]塊,并下載pFILE2指向的不同塊數(shù)據(jù)到FLASH 存儲區(qū)相應位置211 ;變量k = k+Ι,從該步212跳轉(zhuǎn)209。綜上所述,本發(fā)明通過比較要更新下載的手機軟件二進制目標文件和手機FLASH 存儲區(qū)內(nèi)原有的手機軟件二進制目標文件差異性,找到要更新下載的手機軟件二進制目標文件中的不同塊,然后只下載不同塊到手機FLASH存儲區(qū)內(nèi)的相應位置,從而實現(xiàn)要更新下載的手機軟件二進制目標文件的快速下載功能。在手機軟件二進制目標文件前后版本改動不大的情況下,不同塊的數(shù)目會變得更少,更新下載速度會大大加快。這種只更新下載不同塊的方法,提高了手機軟件研發(fā)的調(diào)試速度、降低了手機軟件二進制目標文件在生產(chǎn)線批量更新下載升級的生產(chǎn)成本。
權利要求
1.一種手機軟件快速更新下載的方法,其特征在于所述的下載要更新的手機軟件二進制目標文件和手機FLASH存儲區(qū)內(nèi)原有的二進制目標文件的不同塊,到手機FLASH存儲區(qū)內(nèi)的對應位置,該方法包括以下步驟(1)、首先,對比新版本二進制目標文件和手機FLASH存儲區(qū)內(nèi)原有的二進制目標文件的差異性,找出新版本二進制目標文件中的不同塊;O)、其次,擦除新版本二進制目標文件中的不同塊在手機FLASH內(nèi)對應的存儲區(qū)域;(3)、最后,下載新版本二進制目標文件中的不同塊到手機FLASH內(nèi)對應的存儲區(qū)域。
2.根據(jù)權利要求1所述的一種手機軟件快速更新下載的方法,其特征在于所述的快速更新下載,只擦除手機新版本軟件二進制目標文件中的不同塊在手機FLASH內(nèi)對應的存儲區(qū)域。
3.根據(jù)權利要求1所述的一種手機軟件快速更新下載的方法,其特征在于所述的快速更新下載,只下載手機新版本軟件二進制目標文件中的不同塊到手機FLASH內(nèi)對應的存儲區(qū)域。
全文摘要
本發(fā)明公開了一種手機軟件快速更新下載的方法,首先編寫用于手機軟件二進制目標文件更新下載的應用程序;然后打開更新下載應用程序,并選擇要更新的手機軟件二進制目標文件和手機內(nèi)部版本對應的二進制目標文件;通過USB串口線連接手機和計算機;在下載應用程序界面選擇所用的串口號和手機支持的最大波特率;最后啟動下載應用程序的下載功能,下載二進制目標文件FILE2.BIN和FILE1.BIN的差異部分到手機內(nèi)的FLASH存儲區(qū),完成快速更新下載功能。本發(fā)明具有提高手機軟件研發(fā)調(diào)試速度、降低生產(chǎn)線批量升級更新下載生產(chǎn)成本等優(yōu)點。
文檔編號G06F9/445GK102193803SQ20101011668
公開日2011年9月21日 申請日期2010年3月3日 優(yōu)先權日2010年3月3日
發(fā)明者王文江 申請人:上海三旗通信科技有限公司