一種實現(xiàn)應(yīng)用下載更新的方法及裝置制造方法
【專利摘要】本申請公開了一種實現(xiàn)應(yīng)用下載更新的方法及裝置,包括:在芯片的只讀或閃存存儲器中預(yù)置啟動(Boot)引導(dǎo)程序和更新(Loader)下載程序;還包括:根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識(Boot_Flag),進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。本發(fā)明通過將Boot引導(dǎo)程序和Loader下載程序后,通過Boot引導(dǎo)程序中不同的啟動標(biāo)識,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理,避免了在進(jìn)行應(yīng)用調(diào)試時,由于補丁接口或通訊接口的存在的問題,無法進(jìn)行應(yīng)用的下載更新。通過預(yù)先設(shè)置不同的啟動標(biāo)識對應(yīng)相應(yīng)的應(yīng)用下載更新的處理的各個階段,使應(yīng)用下載更新根據(jù)不同的啟動標(biāo)識進(jìn)行更新應(yīng)用的下載或調(diào)試。
【專利說明】一種實現(xiàn)應(yīng)用下載更新的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信應(yīng)用技術(shù),尤指一種實現(xiàn)應(yīng)用下載更新的方法及裝置。
【背景技術(shù)】
[0002]目前,在集成電路(IC)卡芯片生產(chǎn)時,首先將IC芯片卡(片上操作系統(tǒng))COS應(yīng)用程序掩膜進(jìn)IC芯片中,再進(jìn)行IC芯片卡封裝測試。在測試過程中,往往需要進(jìn)行應(yīng)用程序下載更新,主要由以下幾種情況需要進(jìn)行應(yīng)用程序下載更新:1、應(yīng)用在IC芯片上不能運行;2、需要增減IC芯片卡內(nèi)應(yīng)用的功能;3、為符合其它產(chǎn)品需求,需對應(yīng)用進(jìn)行完全的更新。對IC芯片卡應(yīng)用程序進(jìn)行下載更新的主要方法有:1、在IC芯片卡應(yīng)用中預(yù)留補丁接口,通過補丁程序,執(zhí)行應(yīng)用更新的下載和調(diào)試;2、通過預(yù)留BootLoader,在需要進(jìn)行應(yīng)用更新時,通過將IC芯片卡應(yīng)用擦除后再下載更新的應(yīng)用。
[0003]預(yù)留補丁接口進(jìn)行應(yīng)用更新的方法,只能通過預(yù)留的補丁接口對有限的功能函數(shù)進(jìn)行替換,原有的功能函數(shù)還將存儲在IC卡中,需要新的存儲空間保存更新的功能函數(shù)的程序,存儲空間耗費大;如果預(yù)留的補丁接口不包含而進(jìn)行更新的應(yīng)用功能所需的接口,則無法實現(xiàn)應(yīng)用的更新;當(dāng)預(yù)留補丁接口的程序出現(xiàn)問題時,將無法實現(xiàn)補丁接口的通信交互功能,即無法完成應(yīng)用的下載及更新。在預(yù)留BootLoader程序進(jìn)行更新的技術(shù)方案中,通過Boot Flag的值為I時進(jìn)行應(yīng)用的調(diào)試,在完成應(yīng)用調(diào)試后會進(jìn)行刪除Boot Flag的操作,在刪除Boot Flag之后,將無法通過Boot進(jìn)行應(yīng)用的更新下載;同時,如果更新下載的IC卡應(yīng)用的通訊接口出現(xiàn)問題,將無法實現(xiàn)通訊接口的通信交互功能,將無法進(jìn)行相關(guān)的應(yīng)用更新的下載。
[0004]綜上,現(xiàn)有的兩種應(yīng)用更新方式,通過補丁接口進(jìn)行應(yīng)用更新的方法,如果沒有預(yù)留所需的補丁接口,將無法實現(xiàn)應(yīng)用更新;通過啟動下載和引導(dǎo)更新(BootLoader)程序進(jìn)行應(yīng)用更新的方法,由于在完成應(yīng)用調(diào)試時刪除了 Boot Flag,無法進(jìn)行重新調(diào)試與通訊接口相關(guān)的應(yīng)用,無法應(yīng)用更新的重新下載;如果應(yīng)用的通訊接口出現(xiàn)問題,則無法實現(xiàn)通訊接口的通信交互功能,將無法進(jìn)行相關(guān)的應(yīng)用更新的下載。
【發(fā)明內(nèi)容】
[0005]為了解決上述問題,本發(fā)明提供一種實現(xiàn)應(yīng)用下載更新的方法及裝置,能夠解決補丁接口或通訊接口存在問題時,對下載更新造成影響,實現(xiàn)應(yīng)用的下載更新處理。
[0006]為了達(dá)到本發(fā)明的目的,本申請?zhí)峁┮环N實現(xiàn)應(yīng)用下載更新的方法;包括:
[0007]根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0008]進(jìn)一步地,該方法之前還包括:
[0009]預(yù)先設(shè)置Boot引導(dǎo)程序中不同的Boot_Flag對應(yīng)的應(yīng)用下載更新的處理,具體包括:
[0010]預(yù)先設(shè)置,
[0011]芯片第一次上電啟動時,Boot引導(dǎo)程序中Boot_Flag為第一標(biāo)志值;Boot_Flag為第一標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序進(jìn)行應(yīng)用更新的下載;
[0012]完成應(yīng)用更新下載時,Boot引導(dǎo)程序中Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值;Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為:進(jìn)入應(yīng)用的更新調(diào)試;
[0013]完成所述應(yīng)用的更新調(diào)試時,Boot引導(dǎo)程序中Boot_Flag大于第二標(biāo)志值;Boot_Flag大于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序標(biāo)識完成應(yīng)用的更新調(diào)試。
[0014]進(jìn)一步地,該方法還包括:
[0015]在執(zhí)行所述應(yīng)用的更新調(diào)試時,預(yù)先選擇大于第一標(biāo)志值而小于第二標(biāo)志值的任一值作為當(dāng)前的Boot_Flag ;
[0016]當(dāng)需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值;
[0017]根據(jù)調(diào)整的Boot_Flag為第一標(biāo)志值,重新進(jìn)入Loader下載程序,擦除芯片內(nèi)原有的應(yīng)用,重新進(jìn)行應(yīng)用更新的下載。
[0018]進(jìn)一步地,在Loader下載程序添加校驗匹配信息,該方法還包括:
[0019]在進(jìn)行應(yīng)用的更新下載時,識別Loader下載程序接收的數(shù)據(jù)包中的應(yīng)用更新的數(shù)據(jù)包;
[0020]將應(yīng)用更新的數(shù)據(jù)包中預(yù)先添加的校驗信息與所述校驗匹配信息進(jìn)行匹配,當(dāng)匹配完成時,對數(shù)據(jù)包中的包含的各數(shù)據(jù)指令添加校驗確認(rèn)標(biāo)識;否則,拒絕下載該應(yīng)用更新的數(shù)據(jù)包的數(shù)據(jù)指令;
[0021]逐個接收添加完校驗確認(rèn)標(biāo)識的數(shù)據(jù)指令至完成數(shù)據(jù)包中所有應(yīng)用更新的數(shù)據(jù)指令的下載。
[0022]進(jìn)一步地,在標(biāo)識完成應(yīng)用的更新調(diào)試后,該方法還包括:
[0023]通過外部指令停止或開啟Boot引導(dǎo)程序;
[0024]當(dāng)停止Boot引導(dǎo)程序時,清除Boot_Flag,以終止應(yīng)用下載更新的處理;
[0025]當(dāng)開啟Boot引導(dǎo)程序時,根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0026]另一方面,本申請還提供一種實現(xiàn)應(yīng)用下載更新的裝置,包括:預(yù)置單元和下載更新單元;其中,
[0027]程序設(shè)置單元,用于在芯片的只讀或閃存存儲器中預(yù)置啟動(Boot)引導(dǎo)程序和更新(Loader)下載程序;
[0028]下載更新單元,用于根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0029]進(jìn)一步地,該裝置還包括更新預(yù)設(shè)單元,
[0030]用于預(yù)先設(shè)置,
[0031]芯片第一次上電啟動時,Boot引導(dǎo)程序中Boot_Flag為第一標(biāo)志值;Boot_Flag為第一標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序進(jìn)行應(yīng)用更新的下載;
[0032]完成應(yīng)用更新下載時,Boot引導(dǎo)程序中Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值;Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為:進(jìn)入應(yīng)用的更新調(diào)試;
[0033]完成所述應(yīng)用的更新調(diào)試時,Boot引導(dǎo)程序中Boot_Flag大于第二標(biāo)志值;Boot_Flag大于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序標(biāo)識完成應(yīng)用的更新調(diào)試。
[0034]進(jìn)一步地,該裝置還包括:啟動標(biāo)識調(diào)整單元,用于在執(zhí)行所述應(yīng)用的更新調(diào)試時,預(yù)先選擇大于第一標(biāo)志值而小于第二標(biāo)志值的任一值作為當(dāng)前的Boot_Flag ;
[0035]當(dāng)需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值;
[0036]所述下載更新單元,還用于在接收到所述調(diào)整的Boot_Flag為第一標(biāo)志值后,擦除芯片內(nèi)原有的應(yīng)用,進(jìn)行應(yīng)用更新的下載。
[0037]進(jìn)一步地,該裝置還包括校驗單元,用于在Loader下載程序添加校驗匹配信息,
[0038]在進(jìn)行應(yīng)用的更新下載時,識別Loader下載程序接收的數(shù)據(jù)包中的應(yīng)用更新的數(shù)據(jù)包;
[0039]將應(yīng)用更新的數(shù)據(jù)包中預(yù)先添加的校驗信息與所述校驗匹配信息進(jìn)行匹配,當(dāng)匹配完成時,對數(shù)據(jù)包中的包含的各數(shù)據(jù)指令添加校驗確認(rèn)標(biāo)識;否則,拒絕下載該應(yīng)用更新的數(shù)據(jù)包的數(shù)據(jù)指令;
[0040]逐個接收添加完校驗確認(rèn)標(biāo)識的數(shù)據(jù)指令至完成數(shù)據(jù)包中所有應(yīng)用更新的數(shù)據(jù)指令的下載。
[0041]進(jìn)一步地,該裝置還包括開關(guān)單元,用于在標(biāo)識完成應(yīng)用的更新調(diào)試后,通過外部指令停止或開啟Boot引導(dǎo)程序;
[0042]當(dāng)停止Boot引導(dǎo)程序時,清除Boot_Flag,以終止應(yīng)用下載更新的處理;
[0043]當(dāng)開啟Boot引導(dǎo)程序時,根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0044]與現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案,包括:在芯片的只讀或閃存存儲器中預(yù)置啟動(Boot)引導(dǎo)程序和更新(Loader)下載程序;還包括:根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。本發(fā)明通過將Boot引導(dǎo)程序和Loader下載程序后,通過Boot引導(dǎo)程序中不同的啟動標(biāo)識,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理,避免了在進(jìn)行應(yīng)用調(diào)試時,由于補丁接口或通訊接口的存在的問題,無法進(jìn)行應(yīng)用的下載更新。通過預(yù)先設(shè)置不同的啟動標(biāo)識對應(yīng)相應(yīng)的應(yīng)用下載更新的處理的各個階段,使應(yīng)用下載更新根據(jù)不同的啟動標(biāo)識進(jìn)行更新應(yīng)用的下載或調(diào)試。
【專利附圖】
【附圖說明】
[0045]附圖用來提供對本申請技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本申請的技術(shù)方案,并不構(gòu)成對本申請技術(shù)方案的限制。
[0046]圖1為本發(fā)明實現(xiàn)應(yīng)用下載更新的方法的流程圖;
[0047]圖2為本發(fā)明實現(xiàn)應(yīng)用下載更新的裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0048]為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本申請的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0049]圖1為本發(fā)明實現(xiàn)應(yīng)用下載更新的方法的流程圖,如圖1所示,在芯片的只讀或閃存存儲器中預(yù)置Boot引導(dǎo)程序和Loader下載程序;包括:
[0050]步驟101、根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識(Boot_Flag),進(jìn)行相應(yīng)的應(yīng)用下載更新的處理;
[0051 ] 需要說明的是,通過Boot引導(dǎo)程序和Loader下載程序的分開設(shè)置,可以實現(xiàn)下載和調(diào)試的功能專一,便于功能實現(xiàn)。當(dāng)然,如果不進(jìn)行分開設(shè)置也可以實現(xiàn)本
【發(fā)明內(nèi)容】
。
[0052]本步驟之前還包括步驟100,
[0053]步驟100、預(yù)先設(shè)置Boot引導(dǎo)程序中不同的啟動標(biāo)識對應(yīng)的應(yīng)用下載更新的處理。
[0054]具體包括:預(yù)先設(shè)置,
[0055]芯片第一次上電啟動時,Boot引導(dǎo)程序中Boot_Flag為第一標(biāo)志值;Boot_Flag為第一標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序進(jìn)行應(yīng)用更新的下載;
[0056]完成應(yīng)用更新下載時,Boot引導(dǎo)程序中Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值;Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為:進(jìn)入應(yīng)用的更新調(diào)試;這里進(jìn)入應(yīng)用的更新調(diào)試是指進(jìn)入允許技術(shù)人員進(jìn)行應(yīng)用的更新和調(diào)試階段。當(dāng)調(diào)試工作未完成時,關(guān)閉芯片后再次啟動時,依然會進(jìn)入調(diào)試階段。除非上電復(fù)位的次數(shù)足夠調(diào)整當(dāng)前的Boot_Flag變化為第一標(biāo)志值。
[0057]完成應(yīng)用的更新調(diào)試時,Boot引導(dǎo)程序中Boot_Flag大于第二標(biāo)志值;Boot_Flag大于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序標(biāo)識完成應(yīng)用的更新調(diào)試。
[0058]需要說明的是,第一標(biāo)志值與第二標(biāo)志值可以根據(jù)本領(lǐng)域技術(shù)人員根據(jù)經(jīng)驗設(shè)定的數(shù)值,一般的第一標(biāo)識值可以取O或I等標(biāo)識啟動項的值;第二標(biāo)示值根據(jù)技術(shù)人員進(jìn)行應(yīng)用下載更新操作的頻繁程度和為避免復(fù)位上電造成重新下載應(yīng)用更新而設(shè)定的數(shù)值。完成應(yīng)用的更新調(diào)試狀態(tài)可以通過現(xiàn)有的方式獲得。
[0059]本發(fā)明方法還包括:
[0060]在執(zhí)行所述應(yīng)用的更新調(diào)試時,預(yù)先選擇大于第一標(biāo)志值而小于第二標(biāo)志值的任一值作為當(dāng)前的Boot_Flag ;
[0061]當(dāng)需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值;
[0062]根據(jù)調(diào)整的Boot_Flag為第一標(biāo)志值,重新進(jìn)入Loader下載程序,擦除芯片內(nèi)原有的應(yīng)用,重新進(jìn)行應(yīng)用更新的下載。
[0063]需要說明的是,當(dāng)確定當(dāng)前的Boot_Flag,通過上電復(fù)位的方式調(diào)整Boot_Flag至第一標(biāo)志值可以采用以下本領(lǐng)域技術(shù)人員慣用方式進(jìn)行,例如、設(shè)置當(dāng)前的Boot_Flag為第一標(biāo)志值加I的數(shù)值時,通過上電復(fù)位進(jìn)行對當(dāng)前的Boot_Flag進(jìn)行加I的方式進(jìn)行調(diào)整,當(dāng)Boot_Flag為第二標(biāo)志值時,賦值Boot_Flag等于第一標(biāo)志值;或,設(shè)置當(dāng)前Boot_Flag為第二標(biāo)志值減I的數(shù)值,通過上電復(fù)位進(jìn)行對當(dāng)前的Boot_Flag進(jìn)行減I的方式進(jìn)行調(diào)整,直至當(dāng)前的Boot_Flag等于第一標(biāo)志值;或,采用大于第一標(biāo)志值而小于第二標(biāo)志值的任一值,通過上電復(fù)位進(jìn)行累加或遞減的方式,使Boot_Flag等于第一標(biāo)志值。當(dāng)需要重新進(jìn)入Loader下載程序時,是指技術(shù)人員已經(jīng)進(jìn)行了應(yīng)用調(diào)試,由于應(yīng)用存在問題,需要重新下載新的應(yīng)用進(jìn)行重新調(diào)試的操作,此時,需要擦除芯片內(nèi)原有的應(yīng)用的內(nèi)容,對更新后的應(yīng)用進(jìn)行重新下載。
[0064]在Loader下載程序添加校驗匹配信息,本發(fā)明方法還包括:
[0065]在進(jìn)行應(yīng)用的更新下載時,識別Loader下載程序接收的數(shù)據(jù)包中的應(yīng)用更新的數(shù)據(jù)包;
[0066]將應(yīng)用更新的數(shù)據(jù)包中預(yù)先添加的校驗信息與所述校驗匹配信息進(jìn)行匹配,當(dāng)匹配完成時,對數(shù)據(jù)包中的包含的各數(shù)據(jù)指令添加校驗確認(rèn)標(biāo)識;否則,拒絕下載該應(yīng)用更新的數(shù)據(jù)包的數(shù)據(jù)指令;
[0067]逐個接收添加完校驗確認(rèn)標(biāo)識的數(shù)據(jù)指令至完成數(shù)據(jù)包中所有應(yīng)用更新的數(shù)據(jù)指令的下載。
[0068]需要說明的是,通過添加校驗匹配信息,進(jìn)行應(yīng)用更新數(shù)據(jù)的下載,可以避免惡意破壞性的下載,保證下載更新過程的安全,為Boot引導(dǎo)程序和Loader下載程序的安全運行提供保障。根據(jù)應(yīng)用更新下載的完成,本發(fā)明會進(jìn)行設(shè)置Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值,通過Boot_Flag的變化,進(jìn)入應(yīng)用調(diào)試。
[0069]在標(biāo)識完成應(yīng)用的更新調(diào)試后,本發(fā)明方法還包括:
[0070]通過外部指令停止或開啟Boot引導(dǎo)程序;
[0071]當(dāng)停止Boot引導(dǎo)程序時,清除Boot_Flag,以終止應(yīng)用下載更新的處理;
[0072]當(dāng)開啟Boot引導(dǎo)程序時,根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0073]本發(fā)明通過將Boot引導(dǎo)程序和Loader下載程序后,通過Boot引導(dǎo)程序中不同的啟動標(biāo)識,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理,避免了在進(jìn)行應(yīng)用調(diào)試時,由于補丁接口或通訊接口的存在的問題,無法進(jìn)行應(yīng)用的下載更新。通過預(yù)先設(shè)置不同的啟動標(biāo)識對應(yīng)相應(yīng)的應(yīng)用下載更新的處理的各個階段,使應(yīng)用下載更新根據(jù)不同的啟動標(biāo)識進(jìn)行更新應(yīng)用的下載或調(diào)試。另外,需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值;實現(xiàn)重新進(jìn)行應(yīng)用更新的下載。在標(biāo)識完成應(yīng)用的更新調(diào)試后,通過外部指令停止或開啟Boot引導(dǎo)程序,避免了對完成應(yīng)用調(diào)試的芯片進(jìn)行調(diào)整。
[0074]圖2為本發(fā)明實現(xiàn)應(yīng)用下載更新的裝置的結(jié)構(gòu)框圖,如圖2所示,包括:預(yù)置單元和下載更新單元;其中,
[0075]程序設(shè)置單元,用于在芯片的只讀或閃存存儲器中預(yù)置Boot引導(dǎo)程序和Loader下載程序;
[0076]下載更新單元,用于根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0077]本發(fā)明裝置還包括更新預(yù)設(shè)單元,
[0078]用于預(yù)先設(shè)置,
[0079]芯片第一次上電啟動時,Boot引導(dǎo)程序中Boot_Flag為第一標(biāo)志值;Boot_Flag為第一標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序進(jìn)行應(yīng)用更新的下載;
[0080]完成應(yīng)用更新下載時,Boot引導(dǎo)程序中Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值;Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為:進(jìn)入應(yīng)用的更新調(diào)試;
[0081]完成所述應(yīng)用的更新調(diào)試時,Boot引導(dǎo)程序中Boot_Flag大于第二標(biāo)志值;Boot_Flag大于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序標(biāo)識完成應(yīng)用的更新調(diào)試。
[0082]本發(fā)明裝置還包括:啟動標(biāo)識調(diào)整單元,用于在執(zhí)行所述應(yīng)用的更新調(diào)試時,預(yù)先選擇大于第一標(biāo)志值而小于第二標(biāo)志值的任一值作為當(dāng)前的Boot_Flag ;
[0083]當(dāng)需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值;
[0084]下載更新單元,還用于在接收到所述調(diào)整的Boot_Flag為第一標(biāo)志值后,擦除芯片內(nèi)原有的應(yīng)用,進(jìn)行應(yīng)用更新的下載。
[0085]本發(fā)明裝置還包括校驗單元,用于在Loader下載程序添加校驗匹配信息,
[0086]在進(jìn)行應(yīng)用的更新下載時,識別Loader下載程序接收的數(shù)據(jù)包中的應(yīng)用更新的數(shù)據(jù)包;
[0087]將應(yīng)用更新的數(shù)據(jù)包中預(yù)先添加的校驗信息與所述校驗匹配信息進(jìn)行匹配,當(dāng)匹配完成時,對數(shù)據(jù)包中的包含的各數(shù)據(jù)指令添加校驗確認(rèn)標(biāo)識;否則,拒絕下載該應(yīng)用更新的數(shù)據(jù)包的數(shù)據(jù)指令;
[0088]逐個接收添加完校驗確認(rèn)標(biāo)識的數(shù)據(jù)指令至完成數(shù)據(jù)包中所有應(yīng)用更新的數(shù)據(jù)指令的下載。
[0089]本發(fā)明裝置還包括:開關(guān)單元,用于在標(biāo)識完成應(yīng)用的更新調(diào)試后,通過外部指令停止或開啟Boot引導(dǎo)程序;
[0090]當(dāng)停止Boot引導(dǎo)程序時,清除Boot_Flag,以終止應(yīng)用下載更新的處理;
[0091]當(dāng)開啟Boot引導(dǎo)程序時,根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
[0092]雖然本申請所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本申請而采用的實施方式,并非用以限定本申請,如本發(fā)明實施方式中的具體的實現(xiàn)方法。任何本申請所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本申請所揭露的精神和范圍的前提下,可以在實施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本申請的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種實現(xiàn)應(yīng)用下載更新的方法,其特征在于,在芯片的只讀或閃存存儲器中預(yù)置啟動Boot引導(dǎo)程序和更新Loader下載程序;包括: 根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法之前還包括: 預(yù)先設(shè)置Boot引導(dǎo)程序中不同的Boot_Flag對應(yīng)的應(yīng)用下載更新的處理,具體包括: 預(yù)先設(shè)置, 芯片第一次上電啟動時,Boot引導(dǎo)程序中Boot_Flag為第一標(biāo)志值;Boot_Flag為第一標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序進(jìn)行應(yīng)用更新的下載; 完成應(yīng)用更新下載時,Boot引導(dǎo)程序中Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值;Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為:進(jìn)入應(yīng)用的更新調(diào)試; 完成所述應(yīng)用的更新調(diào)試時,Boot引導(dǎo)程序中Boot_Flag大于第二標(biāo)志值;Boot_Flag大于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序標(biāo)識完成應(yīng)用的更新調(diào)試。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,該方法還包括: 在執(zhí)行所述應(yīng)用的更新調(diào)試時,預(yù)先選擇大于第一標(biāo)志值而小于第二標(biāo)志值的任一值作為當(dāng)前的Boot_Flag ; 當(dāng)需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值;根據(jù)調(diào)整的Boot_Flag為第一標(biāo)志值,重新進(jìn)入Loader下載程序,擦除芯片內(nèi)原有的應(yīng)用,重新進(jìn)行應(yīng)用更新的下載。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在Loader下載程序添加校驗匹配信息,該方法還包括: 在進(jìn)行應(yīng)用的更新下載時,識別Loader下載程序接收的數(shù)據(jù)包中的應(yīng)用更新的數(shù)據(jù)包; 將應(yīng)用更新的數(shù)據(jù)包中預(yù)先添加的校驗信息與所述校驗匹配信息進(jìn)行匹配,當(dāng)匹配完成時,對數(shù)據(jù)包中的包含的各數(shù)據(jù)指令添加校驗確認(rèn)標(biāo)識;否則,拒絕下載該應(yīng)用更新的數(shù)據(jù)包的數(shù)據(jù)指令; 逐個接收添加完校驗確認(rèn)標(biāo)識的數(shù)據(jù)指令至完成數(shù)據(jù)包中所有應(yīng)用更新的數(shù)據(jù)指令的下載。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在標(biāo)識完成應(yīng)用的更新調(diào)試后,該方法還包括: 通過外部指令停止或開啟Boot引導(dǎo)程序; 當(dāng)停止Boot引導(dǎo)程序時,清除Boot_Flag,以終止應(yīng)用下載更新的處理; 當(dāng)開啟Boot引導(dǎo)程序時,根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
6.一種實現(xiàn)應(yīng)用下載更新的裝置,其特征在于,包括:預(yù)置單元和下載更新單元;其中, 程序設(shè)置單元,用于在芯片的只讀或閃存存儲器中預(yù)置啟動(Boot)引導(dǎo)程序和更新(Loader)下載程序; 下載更新單元,用于根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置還包括更新預(yù)設(shè)單元, 用于預(yù)先設(shè)置, 芯片第一次上電啟動時,Boot引導(dǎo)程序中Boot_Flag為第一標(biāo)志值;Boot_Flag為第一標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序進(jìn)行應(yīng)用更新的下載; 完成應(yīng)用更新下載時,Boot引導(dǎo)程序中Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值的值;Boot_Flag為大于第一標(biāo)志值而小于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為:進(jìn)入應(yīng)用的更新調(diào)試; 完成所述應(yīng)用的更新調(diào)試時,Boot引導(dǎo)程序中Boot_Flag大于第二標(biāo)志值;Boot_Flag大于第二標(biāo)志值時,所述應(yīng)用下載更新的處理為=Loader下載程序標(biāo)識完成應(yīng)用的更新調(diào)試。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,該裝置還包括:啟動標(biāo)識調(diào)整單元,用于在執(zhí)行所述應(yīng)用的更新調(diào)試時,預(yù)先選擇大于第一標(biāo)志值而小于第二標(biāo)志值的任一值作為當(dāng)前的Boot_Flag ; 當(dāng)需要重新進(jìn)入Loader下載程序時,通過上電復(fù)位調(diào)整Boot_Flag至第一標(biāo)志值; 所述下載更新單元,還用于在接收到所述調(diào)整的Boot_Flag為第一標(biāo)志值后,擦除芯片內(nèi)原有的應(yīng)用,進(jìn)行應(yīng)用更新的下載。
9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,該裝置還包括校驗單元,用于在Loader下載程序添加校驗匹配信息, 在進(jìn)行應(yīng)用的更新下載時,識別Loader下載程序接收的數(shù)據(jù)包中的應(yīng)用更新的數(shù)據(jù)包; 將應(yīng)用更新的數(shù)據(jù)包中預(yù)先添加的校驗信息與所述校驗匹配信息進(jìn)行匹配,當(dāng)匹配完成時,對數(shù)據(jù)包中的包含的各數(shù)據(jù)指令添加校驗確認(rèn)標(biāo)識;否則,拒絕下載該應(yīng)用更新的數(shù)據(jù)包的數(shù)據(jù)指令; 逐個接收添加完校驗確認(rèn)標(biāo)識的數(shù)據(jù)指令至完成數(shù)據(jù)包中所有應(yīng)用更新的數(shù)據(jù)指令的下載。
10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,該裝置還包括開關(guān)單元,用于在標(biāo)識完成應(yīng)用的更新調(diào)試后,通過外部指令停止或開啟Boot引導(dǎo)程序; 當(dāng)停止Boot引導(dǎo)程序時,清除Boot_Flag,以終止應(yīng)用下載更新的處理; 當(dāng)開啟Boot引導(dǎo)程序時,根據(jù)Boot引導(dǎo)程序中不同的啟動標(biāo)識Boot_Flag,進(jìn)行相應(yīng)的應(yīng)用下載更新的處理。
【文檔編號】G06F9/445GK104503809SQ201510009498
【公開日】2015年4月8日 申請日期:2015年1月8日 優(yōu)先權(quán)日:2015年1月8日
【發(fā)明者】余恒亦, 李琳 申請人:大唐微電子技術(shù)有限公司