亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種終端嵌入式系統(tǒng)的軟件更新方法和裝置的制作方法

文檔序號:6563073閱讀:181來源:國知局
專利名稱:一種終端嵌入式系統(tǒng)的軟件更新方法和裝置的制作方法
技術領域
本發(fā)明涉及計算機技術領域,特別是指 一種終端嵌入式系統(tǒng)的軟 件更新方法和裝置。
技術背景手機是當今非常普及的電子產品,其功能更新、換代的速度相當 快。手機的更新不僅包括硬件的推陳出新,也包括了內置軟件的升級 換代。人們最熟悉的軟件更新,是計算機經常進行的軟件升級。只要計 算機連接網絡,就可以用通過下載軟件補丁的方式來進行軟件更新。 軟件的更新,通常都是就是為了修正一些早期沒有發(fā)現(xiàn),或解決的問 題。手機等嵌入式系統(tǒng)的電子產品中的軟件更新卻要麻煩和困難的多, 通常需要售后服務的介入,由專業(yè)人員使用專用設備來進行。這主要是手機等嵌入式系統(tǒng)的軟件結構過于緊密,缺乏結構化的 構成,且由于硬件的限制,無法采用與計算機相同的文件系統(tǒng)。計算 機上的軟件通常由很多相對獨立的文件共同組成,軟件升級或更新的 時候,可以對其中的若干文件進行獨立的替換。但是目前手機上軟件 的任何升級和更新,都是對整個鏡像文件進行替換。因為鏡像文件占 用的空間較大,手機上不可能有如此多的剩余空間存放,所以通常都 需要專用數(shù)據傳輸線等設備將新鏡像文件直接下載到手機中,在下載 過程中同時覆蓋包括鏡像文件在內的原有資料,且將重新分配閃存全 部空間中的占用部分和空閑部分。在下栽更新軟件的過程中,通常都會導致原有資料中的用戶個人 資料一同丟失。發(fā)明內容有鑒于此,本發(fā)明在于提供一種終端嵌入式系統(tǒng)的軟件更新方法 和裝置,以解決上述在軟件更新的過程中,用戶個人資料丟失的問題。
為解決上述問題,本發(fā)明提供一種終端嵌入式系統(tǒng)的軟件更新方法,包括終端將安裝信息和新代碼下載后,按照安裝信息中的地址將新代 碼存儲到閃存中的預定位置;在所述閃存內的鏡像文件中,將調用舊代碼的指針值更改為所述 預定位置的地址。其中,所述下載為通過GPRS、 WAP、 EMS、 MMS、 IrDA、 Blue Tooth或數(shù)據線方式下載。其中,所述下栽與存儲之間進一步包括將終端的模式設置為不運行其它程序的安裝補丁模式。其中,該方法進一步包括在指針值更改的過程中,記錄更改前的指針值,如果更改失敗, 則將指針值改回原值。其中,所述閃存為定址閃存Nor-Flash。本發(fā)明還包括一種終端嵌入式系統(tǒng)的軟件更新裝置,包括接收單元,包括無線接口模塊和有線接口模塊,所述模塊用于下 載安裝信息和新代碼;操作單元,用于獲取安裝信息中的地址,控制讀/寫單元按照安裝 信息中的地址將新代碼存儲到閃存中的預定位置;控制讀/寫單元在所 述閃存內的鏡像文件中,將調用舊代碼的指針值更改為所述預定位置 的地址。讀/寫單元,用于對閃存進行讀/寫; 閃存,用于存儲來自讀/寫單元的數(shù)據。其中,所述無線接口模塊用于通過GPRS、 WAP、 EMS、 MMS、 IrDA或Blue Tooth方式進4亍下栽。其中,所述裝置還包括模式設置單元,用于在操作單元執(zhí)行操作 前,將終端的模式設置為不運行其它程序的安裝補丁模式。其中,所述裝置還包括恢復單元,與所述讀/寫單元連接,用于在 指針值更改的過程中,記錄更改前的指針值;如果更改失敗,則將指
4十值改回原^t。其中,所述閃存為定址閃存Nor-Flash。通過本發(fā)明的方法和裝置,在軟件更新時,不必將整個鏡像文件 全部下栽并更新,只需要下載新代碼段即可,由于新代碼段的數(shù)據量 較小,可以通過各種方式下載,可操作性更強,且軟件中舊代碼段的 更新是通過指針的更改,使鏡像文件調用新代碼段,不同于整個鏡像 文件的替換,不會對閃存重新分配空間,不會造成用戶資料的丟失。 在更新的過程中,記錄整個更改過程,如果更新失敗,則將指針改回 原值,不會造成由于軟件更新的失敗,造成終端原有功能出現(xiàn)故障。附困說明

圖1是本發(fā)明方法實施例的流程圖; 圖2是本發(fā)明裝置實施例的結構圖。
具體實施方式
本發(fā)明的方法,保存終端中原有存在的鏡像軟件,通過增加新的 代碼段來實現(xiàn)軟件的更新和升級。本發(fā)明所指的終端,是指具有嵌入 式系統(tǒng)的終端,如手機、個人數(shù)字助理(PDA)等。在嵌入式系統(tǒng)中,所運行的代碼都是保存在閃存上的。在運行時, 由閃存中讀取,讀入到內存后運行或直接運行。軟件更新時,通常是 在實現(xiàn)原有功能的程序代碼上,通過增加部分新的程序代碼,來實現(xiàn) 新的功能。所增加的新代碼段可以是一個或多個。由于軟件的執(zhí)行從源代碼的角度上說,都是依靠函數(shù)和變量的嵌 套調用來實現(xiàn)的。在鏡像文件中,實現(xiàn)終端各個功能的每一個函數(shù)和 變量,在嵌入式系統(tǒng)的定址閃存(Nor-Flash)芯片中都存在明確的地址。中央處理單元CPU在執(zhí)行的時候,正是通過尋找這些地址來進 行相應的操作的。因此,只要修改原來鏡像文件中的少數(shù)指針指向, 使其指向到新地址上,新地址上的函數(shù)和變量與原程序中的兼容,并
可以執(zhí)行。這樣,就可實現(xiàn)軟件的更新。指針原先指向地址中的函數(shù) 仍然保存,如果新加入補丁中的程序代碼出現(xiàn)問題,還可以回復到更 新前的狀態(tài)。下面結合附圖詳細說明本發(fā)明方法的實施例。在此實施例中,終端以手才幾為例,程序代碼存儲在Nor - Flash為例,詳細說明手機進行 軟件更新的流程。步驟S101:下載補??;手機可以通過多種方式下載補丁,如通用分組無線業(yè)務(GPRS, General Packet Radio Service )、 無纟戔應用十辦i義(WAP , Wireless Application Protocol) 、 i曽強#豆4言業(yè)務(EMS 、 Enhanced Message Service )、多媒體信息月l務(MMS, Multimedia Messaging Service )、紅 外傳輸(IrDA, Infrared Data Association),藍牙(Blue Tooth)或數(shù) 據線等方式。所下栽的補丁程序代碼中至少包括補丁安裝信息和可執(zhí)行的新代 碼段。在下載內存后,將補丁程序代碼存入到閃存中。在本實施例中, 新代碼為函數(shù)FUNC2(),手機從將新代碼段FUNC2存儲到定址閃存 中用于保存新代碼的位置為0x00800000的地址處。步驟S102:重新啟動手機;步驟S103:判斷是否有補丁程序代碼存在;在下栽結束、重新啟動手機后,手機會判斷是否存在補丁程序代 碼,如果存在,則執(zhí)行步驟S104;如果不存在,則執(zhí)行步驟S105。步驟S105:進入到正常模式;手機沒有找到下載后的軟件,進入到正常模式,在正常模式下, 執(zhí)行原有的功能操作。步驟S104:進入安裝補丁模式;在安裝補丁模式,手機不會運行原先存在的鏡像文件,以免發(fā)生 代碼沖突。在安裝補丁模式下,執(zhí)行步驟S106。步驟S106:將補丁中的程序代碼存儲到預定位置; 在安裝補丁模式下,手機將補丁程序代碼中的可執(zhí)行新代碼存儲
到預定位置。由于手機中加入新代碼后,程序中各個函數(shù)之間需要互相調用,新代碼為函數(shù)FUNC2()程序中有預定的地址。手機從安裝 信息中找出FUNC2的預定地址位置是0x00805000,將FUNC2存儲在 該位置處。步驟S107:判斷是否存儲成功;如果本次存儲成功,則執(zhí)行步驟S108;如果本次存儲失敗,則執(zhí) 行步驟S109;步驟S108:進行補丁安裝;補丁的安裝過程,是鏡像文件中指針重新設置的過程。舊代碼, 即被替換的函數(shù)FUNC ()在閃存中的地址為0x00001000。在閃存中 所存儲的鏡像文件的運行過程中,有多處調用函數(shù)FUNC的指針,這 些指針的值為0x00001000,本次軟件的更新,通過將調用函數(shù)FUNC ()時,改為調用函數(shù)FUNC2 ()來實現(xiàn)增加的新功能。在鏡像文件 中有7處指針調用了 FUNC (),將這7處指針的值改為函數(shù)FUNC2 ()的地址值0x805000。修改完成后,記錄所修改的信息,包括修改 的指針值和修改前的指針值。安裝完成后,執(zhí)行步驟SllO。步驟S109:補丁安裝失??;確認補丁安裝失敗,執(zhí)行步驟S113。步驟S110:判斷是否修改成功;如果修改成功,則執(zhí)行步驟Slll;如果修改失敗,則執(zhí)行步驟 S112;步驟S111:判斷是否完成所有地址更新;如果完成,則執(zhí)行步驟S113;如果沒有完成,則執(zhí)行步驟S108;由于在軟件的更新過程中,新代碼段可能不止一個,當存在多個 新代碼段的時候,可能會更改多個調用的不同函數(shù)的指針。因此,如 果全部更改完成,則表明本次軟件的更新完成,執(zhí)行步驟S113;如果 沒有則需要返回步驟S108繼續(xù)修改其它需要調用其它新代碼的指針。步驟S112:回退已經安裝地址;在修改地址的過程中,如果出現(xiàn)閃存故障等其它原因,導致本次 指針值的〗奮改沒有成功,則將修改過的地址按照記錄改回修改前的地址值,保證手機的功能還能夠使用。修改結束后,執(zhí)行步驟S109。 步驟S113:刪除下載補?。粺o論本次安裝是否成功,最后都要將下載的補丁刪除,在本實施 例中,將位置為0x00800000的地址處新代碼段FUNC2刪除。刪除結 束后,執(zhí)行步驟S102。此時,在步驟S102結束后,如果安裝成功, 則在重啟后,經入正常模式。至此,本次的軟件更新的過程完成。在本實施例中,手機所下載 的補丁程序包括安裝信息和新代碼段。其中新代碼段由用來用于更新 原鏡像的新資源代碼(Source Code)編譯產生,但是這部分代碼并不 加入原鏡像的的代碼中 一 同進行編譯連接,而是完全獨立的進行編譯。 這樣可以保證原鏡像中的所有地址和內容穩(wěn)定不變,同時產生的新代 碼段占用的空間很小。安裝信息,是通過對手機中的原鏡像文件進行 再次編譯,當然最終產生的鏡像必定與原鏡像是完全一致的,在這個 編譯連接的過程中,可以借助編譯器對原鏡像文件中地址關系進行分 析或生成內存圖Memory Map。任何需要替換的函數(shù)在閃存中的地址 是多少、有多少個指針調用了這個需要替換的函數(shù)等信息都可以在這 個過程中進行統(tǒng)計并記錄,然后整理生產補丁安裝信息。綜合新代碼 段和安裝信息,就可以產生完成的更新補丁安裝包。對于已經安裝過補丁的系統(tǒng),需要再次安裝補丁的時候,應該先 移除系統(tǒng)中的舊補丁。使系統(tǒng)回到最初鏡像的狀態(tài)下運行,即沒加載 任何補丁的狀態(tài),然后再進行新補丁的安裝。手機等嵌入式設備如需要采用本方式來進行軟件更新,應該事先 對存儲空間有 一 定的規(guī)劃,即保留 一 部分的空間以便存放補丁中的新 代碼段和安裝信息。由于補丁和原鏡像文件都采用相同的構架和編譯環(huán)境,所以它們 的地址都是對齊且等寬的。因此,在原鏡像中可以直接修改調用地址, 而不會有問題產生。本發(fā)明還提供一種終端嵌入式系統(tǒng)的軟件更新裝置,包括
接收單元201,包括無線接口模塊202和有線接口模塊203,所 述模塊用于下栽安裝信息和新代碼;操作單元204,用于獲取安裝信息中的地址,控制讀/寫單元205 按照安裝信息中的地址將新代碼存儲到閃存206中的預定位置;控制 讀/寫單元205在所述閃存206內的鏡像文件中,將調用舊代碼的指針 值更改為所述預定位置的地址。讀/寫單元205,用于對閃存206進行讀/寫;閃存206,用于存儲來自讀/寫單元205的數(shù)據。在本發(fā)明的裝置中,所述無線接口模塊202用于通過GPRS、WAP、 EMS、 MMS、 IrDA或Blue Tooth方式進行下載。在本發(fā)明的裝置中,還包括模式設置單元207,用于在操作單元 204執(zhí)行操作前,將終端的模式設置為不運行其它程序的安裝補丁模 式。在本發(fā)明的裝置中,還包括恢復單元208,與所述讀寫單元205連接,用于在指針值更改的過程中,記錄更改前的指針值;如果更改失敗,則將指針值改回原值。在本發(fā)明的裝置中,所述閃存206為定址閃存Nor - Flash。 對于本發(fā)明的方法和裝置,優(yōu)選采用定址閃存,但定址閃存并不是唯一 的,其它閃存通過顯而易見的改動也可實現(xiàn)本發(fā)明的方法和裝置。對于本發(fā)明的方法和裝置,凡在本發(fā)明的精神和原則之內,所作 的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1. 一種終端嵌入式系統(tǒng)的軟件更新方法,其特征在于,包括終端將安裝信息和新代碼下載后,按照安裝信息中的地址將新代碼存儲到閃存中的預定位置;在所述閃存內的鏡像文件中,將調用舊代碼的指針值更改為所述預定位置的地址。
2、 根據權力要求1所述的方法,其特征在于,所述下載為通 過GPRS、 WAP、 EMS、 MMS、 IrDA、 Blue Tooth或數(shù)據線方式下載。
3、 根據權力要求1所述的方法,其特征在于,所述下載與存儲 之間進一步包括將終端的模式設置為不運行其它程序的安裝補丁模式。
4、 根據權力要求1所述的方法,其特征在于,該方法進一步包括在指針值更改的過程中,記錄更改前的指針值,如果更改失敗, 則將指針值改回原值。
5、 根據權力要求1所述的方法,其特征在于,所述閃存為定址 閃存Nor - Flash。
6、 一種終端嵌入式系統(tǒng)的軟件更新裝置,其特征在于,包括 接收單元,包括無線接口模塊和有線接口模塊,所述模塊用于下載安裝信息和新代碼;操作單元,用于獲取安裝信息中的地址,控制讀/寫單元按照安裝 信息中的地址將新代碼存儲到閃存中的預定位置;控制讀/寫單元在所 述閃存內的鏡像文件中,將調用舊代碼的指針值更改為所述預定位置 的地址。讀/寫單元,用于對閃存進行讀/寫; 閃存,用于存儲來自讀/寫單元的數(shù)據。
7、 根據權力要求6所述的裝置,其特征在于,所述無線接口模 塊用于通過GPRS、 WAP、 EMS、 MMS、 IrDA或Blue Tooth方式進行 下栽。
8、 根據權力要求1所述的裝置,其特征在于,所述裝置還包括模式設置單元,用于在操作單元執(zhí)行操作前,將終端的模式設置為不 運行其它程序的安裝補丁模式。
9、 根據權力要求1所述的裝置,其特征在于,所述裝置還包括 恢復單元,與所述讀/寫單元連接,用于在指針值更改的過程中,記錄 更改前的指針值;如果更改失敗,則將指針值改回原值。
10、 根據權力要求1所述的裝置,其特征在于,所述閃存為定址 閃存Nor - Flash。
全文摘要
本發(fā)明公開了一種終端嵌入式系統(tǒng)的軟件更新方法和裝置,本發(fā)明的方法包括終端將安裝信息和新代碼下載后,按照安裝信息中的地址將新代碼存儲到閃存中的預定位置;在所述閃存內的鏡像文件中,將調用舊代碼的指針值更改為所述預定位置的地址。在指針值更改的過程中,記錄更改前的指針值,如果更改失敗,則將指針值改回原值。通過本發(fā)明的方法和裝置,在軟件更新時,不必將整個鏡像文件全部下載并更新,只需要下載新代碼段即可,由于新代碼段的數(shù)據量較小,可以通過各種方式下載,可操作性更強,且不會對閃存重新分配空間,不會造成用戶資料的丟失。
文檔編號G06F9/445GK101211265SQ200610148809
公開日2008年7月2日 申請日期2006年12月28日 優(yōu)先權日2006年12月28日
發(fā)明者蔡世光, 鄧冶華, 邱旭軍 申請人:英華達(上海)電子有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1