移動終端及其medom及l(fā)inux芯片統(tǒng)一下載的方法
【專利摘要】本發(fā)明公開了一種移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其包括以下步驟:微型化內核LK根據指令進入快速啟動FASTBOOT模式;微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識;以及微型化內核LK根據標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。本發(fā)明的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,通過FASTBOOT工具下載安卓系統(tǒng)的LINUX芯片的同時下載MEDOM部分的鏡像,且開發(fā)者只需下載一套工具,就可以完成對所有鏡像的升級操作,縮短了開發(fā)周期,從而提高開發(fā)效率,有利于批量生產。本發(fā)明還提出一種移動終端。
【專利說明】移動終端及其MEDOM及LINUX芯片統(tǒng)一下載的方法
【技術領域】
[0001]本發(fā)明涉及移動通信【技術領域】,特別涉及一種移動終端及其MEDOM芯片及LINUX芯片統(tǒng)一下載的方法。
【背景技術】
[0002]在安卓手機中fastboot是一種比recovery更底層的刷機模式。fastboot是一種線刷,就是使用USB數據線連接手機的一種刷機模式。相對于某些系統(tǒng)(如小米)卡刷來說,線刷更安全可靠。recovery是一種卡刷,就是將刷機包放在sd卡上,然后在recovery中刷機的模式。Fastboot使用方法是用數據線連接手機和電腦,手機重啟切換到工程模式,然后在PC端使用android開發(fā)包自帶的fastboot命令燒寫。通常燒寫安卓系統(tǒng)中的FLASH的系統(tǒng)區(qū)、用戶區(qū)和啟動BOOT分區(qū)的三個分區(qū)鏡像,編譯源碼時*.1mg文件(即相關的生成鏡像)會生成在out/target/product/xxxx/(谷歌的安卓鏡像的生成目錄)目錄中,只有針對某硬件的編譯才能生成啟動BOOT分區(qū)。有時也燒寫recover, img(安卓系統(tǒng)中的恢復分區(qū)),recover, img是燒機模式使用的系統(tǒng)。
[0003]目前高通7X27系列平臺的手機有2個主ARM芯片,一個是用于控制安卓系統(tǒng)的Iinux芯片,另一個是處理啟動引導流程及網絡協(xié)議呼叫功能的芯片,即MODEM芯片。目前高通平臺在開發(fā)階段主要是通過ANDROID提供的FASTBOOT的工具接口提供對android的Iinux方數據的下載,通過高通的QPST (—個針對高通芯片開發(fā)的傳輸軟件)工具實現(xiàn)對MODEM芯片的下載,這樣開發(fā)人員需要根據自己的開發(fā)要求對不同的生成軟件使用不同的生成工具,這樣給開發(fā)帶來了很大的不方便性。如果開發(fā)人員升級一套完整的軟件,就需要先通過QPST工具升級MODEM芯片的鏡像,當MODEM芯片的鏡像升級完成后,需要切換到FASTBOOT的下載模式下,再分別下載BOOT、SYSTEM及DATA等鏡像。工廠下載時也需要2套接口,它使用可視化工具在下載MODEM鏡像時調用到平臺提供的QPST包裝的下載接口(通過DIAG命令傳遞數據包),調用的是QPST的包裝工具接口下載android的Iinux方鏡像。
[0004]通過android提供的FASTBOOT的工具接口提供對AP端數據的下載,通過高通的QPST工具實現(xiàn)對MODEM芯片的下載,這樣開發(fā)人員需要根據自己的開發(fā)要求對不同的生成軟件使用不同的生成工具,這樣給開發(fā)人員和工廠制作工具的開發(fā)人員帶來了很大的不方便性。
【發(fā)明內容】
[0005]本發(fā)明的目的旨在至少解決所述技術缺陷之一。
[0006]為此,本發(fā)明的一個目的在于提出在一種移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,該方法可以通過FASTBOOT工具下載安卓系統(tǒng)的LINUX芯片的同時下載MEDOM部分的鏡像,開發(fā)效率高。
[0007]本發(fā)明的另一個目的在于提出一種移動終端。
[0008]為達上述目的,本發(fā)明第一方面的實施例提出了一種移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,包括以下步驟:微型化內核LK根據指令進入快速啟動FASTBOOT模式;所述微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識;以及所述微型化內核LK根據所述標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。
[0009]根據本發(fā)明實施例的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,通過FASTBOOT工具下載安卓系統(tǒng)的LINUX芯片的同時下載MEDOM部分的鏡像,從而使開發(fā)者在開發(fā)階段專注開發(fā),縮短開發(fā)周期,此外,通過統(tǒng)一下載的方法,使開發(fā)者只需下載一套工具,就可以完成對所有鏡像的升級操作,從而提高開發(fā)效率,有利于批量生產。
[0010]本發(fā)明第二方面的實施例提出了一種移動終端,所述移動終端的微型化內核LK根據指令進入快速啟動FASTBOOT模式,并在進入所述快速啟動FASTBOOT模式后,所述微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識,以及所述微型化內核LK根據所述標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。
[0011]根據本發(fā)明實施例的移動終端,可以通過FASTBOOT工具下載安卓系統(tǒng)的LINUX芯片的同時下載MEDOM部分的鏡像,從而縮短開發(fā)周期。此外,通過統(tǒng)一下載的方法,使開發(fā)者只需下載一套工具,就可以完成對所有鏡像的升級操作,從而提高開發(fā)效率,有利于批量生產。
[0012]本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
【專利附圖】
【附圖說明】
[0013]本發(fā)明所述的和/或附加的方面和優(yōu)點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0014]圖1為根據本發(fā)明實施例的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法的流程圖;
[0015]圖2為根據本發(fā)明的實施例在LK中進入FASTBOOT模式的處理步驟圖;以及
[0016]圖3為根據本發(fā)明的實施例在FASTBOOT模式下載MEDOM鏡像及LINUX鏡像的流程圖。
【具體實施方式】
[0017]下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0018]下文的公開提供了許多不同的實施例或例子用來實現(xiàn)本發(fā)明的不同結構。為了簡化本發(fā)明的公開,下文中對特定例子的部件和設置進行描述。當然,它們僅僅為示例,并且目的不在于限制本發(fā)明。此外,本發(fā)明可以在不同例子中重復參考數字和/或字母。這種重復是為了簡化和清楚的目的,其本身不指示所討論各種實施例和/或設置之間的關系。此夕卜,本發(fā)明提供了的各種特定的工藝和材料的例子,但是本領域普通技術人員可以意識到其他工藝的可應用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之“上”的結構可以包括第一和第二特征形成為直接接觸的實施例,也可以包括另外的特征形成在第一和第二特征之間的實施例,這樣第一和第二特征可能不是直接接觸。[0019]在本發(fā)明的描述中,需要說明的是,除非另有規(guī)定和限定,術語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是機械連接或電連接,也可以是兩個元件內部的連通,可以是直接相連,也可以通過中間媒介間接相連,對于本領域的普通技術人員而言,可以根據具體情況理解上述術語的具體含義。
[0020]參照下面的描述和附圖,將清楚本發(fā)明的實施例的這些和其他方面。在這些描述和附圖中,具體公開了本發(fā)明的實施例中的一些特定實施方式,來表示實施本發(fā)明的實施例的原理的一些方式,但是應當理解,本發(fā)明的實施例的范圍不受此限制。相反,本發(fā)明的實施例包括落入所附加權利要求書的精神和內涵范圍內的所有變化、修改和等同物。
[0021]下面參考附圖描述根據本發(fā)明實施例的提出的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法。
[0022]如圖1所示,本發(fā)明提出的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,包括以下步驟:
[0023]步驟S101,微型化內核LK根據指令進入快速啟動FASTBOOT模式。
[0024]微型化內核LK為高通平臺進入LINUX操作系統(tǒng)前的一種BOOTLOADER模式,也叫LITTLE KERNEL,可以理解的是微型化的內核主要用于引導流程及下載、充電及點初始LCD的LOGO標識。其中,微型化內核LK根據指令進入快速啟動FASTBOOT模式,其中,指令包括熱鍵指令或代碼中設置的模式切換指令,例如熱鍵為DOWN鍵。
[0025]具體地,微型化內核LK進入FASTBOOT模式的處理過程,如圖2所示,包括如下步驟:
[0026]步驟S201,運行 aboot_init 函數。
[0027]步驟S202,判斷 “Detect hotkey If (KEY==DOWN) ” 如果檢測到按下熱鍵 DOWN 鍵,則執(zhí)行步驟S205,否則執(zhí)行步驟S203。
[0028]步驟S203,確定選用 FLASH (Flash Memory,閃存)還是 EMMC (EmbeddedMultiMediaCard,嵌入式存儲卡)。
[0029]步驟S204,判斷“Get reboot mode If (mode==FASTB00T_M0DE) ”。如果是,則執(zhí)行步驟S205,否則進入內核心。
[0030]在進入aboot_init 函數時,Reboot mode 通過 share memory 接口讀 modem core的設定,高通平臺中以此判斷是否需要進fastboot mode, fastboot mode是一種被動模式,等待USB host發(fā)送co_and并做相應處理。它是通過移動終端(例如為手機)內部的fastboot服務接受命令的方式來實現(xiàn)的。
[0031 ]步驟 S205,進入 FASTBOOT 模式。
[0032]步驟S102,微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識。
[0033]OEMSBL為MODEM芯片的一種啟動Β00Τ,用于在控制之前進行下載等功能的切換,在MEDOM芯片的OEMSBL的BOOT中設置有未下載時的FLAG標識。在執(zhí)行完步驟SlOl后,即進入FASTBOOT模式,微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識。
[0034]步驟S103,微型化內核LK根據標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。
[0035]在本發(fā)明的一個實施例中,進行MEDOM鏡像下載進一步包括:微型化內核LK將下載信息發(fā)送至OEMSBL ;0EMSBL根據下載信息進行MEDOM鏡像下載;以及OEMSBL在下載完成之后更新標識。其中,下載信息包括大小SIZE信息、分區(qū)參數信息和數據信息,下載信息是從微型化內核LK中獲取的。
[0036]在本發(fā)明進一步地實施例中,微型化內核LK通過共享內存將下載信息發(fā)送至OEMSBL0 OEMSBL根據分區(qū)參數信息將數據信息寫入至對應的分區(qū),并更新偏移地址。其中,OEMSBL通過FLASH中的PR0GRAMJMG函數將數據信息寫入至對應的分區(qū)。如果寫入完成,就進入完成狀態(tài),否則微型化內核LK繼續(xù)向OEMSBL發(fā)送下載信息,直至MEDOM鏡像下載結束。
[0037]下面結合圖描述本發(fā)明的實施例在FASTBOOT模式下載MEDOM鏡像及LINUX鏡像的過程。
[0038]如圖3所示,本發(fā)明的實施例在FASTBOOT模式下載MEDOM鏡像及LINUX鏡像的過程包括以下步驟:
[0039]步驟S301,從共享內存中的下載進入的標識區(qū)寫入未下載時的標識,例如標識為0XAAA5555。
[0040]步驟S302,CMD_FLASH (接受 FLASH 命令)。
[0041 ] 步驟S303,判斷“ IF (DOWN IMAGE==MED0M) ”,通過設定的數組判定是否進入了MEDOM鏡像的下載。如果是,執(zhí)行步驟S304,否則執(zhí)行步驟S310。
[0042]步驟S304,進入MEDOM鏡像的下載流程。
[0043]步驟S305,通過共享內存?zhèn)鬟f下載信息給0EMBSL,改變標記等待OEMSBL的BOOT下載這個SIZE的數據完成。
[0044]步驟S306,OEMSBL得到LK的下載信息,并將一些狀態(tài)標志復位。
[0045]步驟S307,通過FLASH的PR0GRAMJMG函數將數據寫入對應的分區(qū),并將偏移地址下移,等待數據的接收完成。
[0046]步驟S308,“IF(*DATA==END) ”,判斷是否循環(huán)寫入完成。如果是則執(zhí)行步驟S311,否則執(zhí)行步驟S309。
[0047]步驟S309,通過共享內存?zhèn)鬟f下一次的下載信息給0EMBSL,改變標識等待OEMSBL的BOOT下載這個SIZE的數據完成,返回步驟S306。
[0048]步驟S310,繼續(xù)之前ANDROID默認的對BOOT SYSTEM及DATA等鏡像的下載方式。
[0049]步驟S311,完成。
[0050]具體地,當移動終端例如手機開機進入到LK模式中,即系統(tǒng)開始運行,微型化內核LK通過熱鍵及代碼中設置的模式切換指令進入FASTBOOT模式。寫入前先要在OEMSBL的BOOT中設置未下載時的FLAG標識,以判斷下載的階段,微型化內核LK通過共享內存?zhèn)鬟fSIZE和分區(qū)參數及要寫入分區(qū)的數據給0EMBSL,改變標識等待OEMSBL的BOOT下載這個SIZE的數據完成,OEMSBL得到LK的下載信息,例如大小SIZE信息、分區(qū)參數信息及數據信息,并將一些狀態(tài)標志復位,通過FLASH的PR0GRAMJMG等可以對FLASH讀寫的操作函數將數據寫入對應的分區(qū),并將偏移地址下移,等待數據的接收完成,然后在LK這邊判斷是否寫入完成,如果寫入完成,就進入完成狀態(tài),否則就再次通過共享內存?zhèn)鬟f下一次的下載信息給0EMBSL,改變標識等待OEMSBL的BOOT下載這個SIZE的數據完成。
[0051 ] 本發(fā)明實施例的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法采用擴展功能的FASTBOOT下載方式,擴展了 FASTBOOT下載的功能,加入判斷是否是下載MEDOM的某一個鏡像,如果不是,繼續(xù)ANDROID默認的對android的Iinux方下載的流程,如果是,將加入的鏡像的數據及大小通過共享內存通過分段的方式循環(huán)通過共享內存?zhèn)鬟f給MEDOM的OEMSBL,使其通過寫入FLASH函數寫入到MEDOM的鏡像中,從而可以同時下載MODEM部分的鏡像,如AMSS (即MEDOM芯片控制方的主鏡像)、CEFS及OEMSBL的代碼等。
[0052]根據本發(fā)明實施例的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,通過FASTBOOT工具下載安卓系統(tǒng)的LINUX芯片的同時下載MEDOM部分的鏡像,從而使開發(fā)者在開發(fā)階段專注開發(fā),縮短開發(fā)周期,此外,通過統(tǒng)一下載的方法,使開發(fā)者只需下載一套工具,就可以完成對所有鏡像的升級操作,從而提高開發(fā)效率,有利于批量生產。
[0053]下面對根據本發(fā)明進一步實施例的移動終端進行描述。
[0054]本發(fā)明實施例的移動終端具有微型化內核LK,移動終端的微型化內核LK根據指令進入快速啟動FASTBOOT模式,并在進入快速啟動FASTBOOT模式后,微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識,以及微型化內核LK根據標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。
[0055]在本發(fā)明的一個實施例中,指令包括熱鍵指令或代碼中設置的模式切換指令。
[0056]在本發(fā)明的一個實施例中,微型化內核LK用于將下載信息發(fā)送至0EMSBL,并根據下載信息進行MEDOM鏡像下載,其中,OEMSBL在下載完成之后更新所述標識。其中,下載信息包括大小SIZE信息、分區(qū)參數信息和數據信息,其中,下載信息是從微型化內核LK中獲取的。
[0057]進一步地,微型化內核LK通過共享內存將下載信息發(fā)送至0EMSBL。OEMSBL根據分區(qū)參數信息將數據信息寫入至對應的分區(qū),并更新偏移地址。具體地,OEMSBL通過FLASH中的PR0GRAM_IMG函數將數據信息寫入至對應的分區(qū)。
[0058]在本發(fā)明的一個實施例中,微型化內核LK還用于繼續(xù)向OEMSBL發(fā)送下載信息,直至MEDOM鏡像下載結束。
[0059]具體地,當移動終端例如手機開機進入到LK模式中,即系統(tǒng)開始運行,微型化內核LK通過熱鍵及代碼中設置的模式切換指令進入FASTBOOT模式。寫入前先要在OEMSBL的BOOT中設置未下載時的FLAG標識,以判斷下載的階段,微型化內核LK通過共享內存?zhèn)鬟fSIZE和分區(qū)參數及要寫入分區(qū)的數據給0EMBSL,改變標識等待OEMSBL的BOOT下載這個SIZE的數據完成,OEMSBL得到LK的下載信息,例如大小SIZE信息、分區(qū)參數信息及數據信息,并將一些狀態(tài)標志復位,通過FLASH的PR0GRAMJMG等可以對FLASH讀寫的操作函數將數據寫入對應的分區(qū),并將偏移地址下移,等待數據的接收完成,然后在LK這邊判斷是否寫入完成,如果寫入完成,就進入完成狀態(tài),否則就再次通過共享內存?zhèn)鬟f下一次的下載信息給0EMBSL,改變標識等待OEMSBL的BOOT下載這個SIZE的數據完成。
[0060]根據本發(fā)明實施例的移動終端可以通過FASTBOOT工具下載安卓系統(tǒng)的LINUX芯片的同時下載MEDOM部分的鏡像,從而縮短開發(fā)周期。此外,通過統(tǒng)一下載的方法,使開發(fā)者只需下載一套工具,就可以完成對所有鏡像的升級操作,從而提高開發(fā)效率,有利于批量生產。
[0061]在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對所述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。在本發(fā)明中,術語“多個”是指兩個或兩個以上。
[0062]盡管已經示出和描述了本發(fā)明的實施例,對于本領域的普通技術人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權利要求及其等同限定。
【權利要求】
1.一種移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,包括以下步驟: 微型化內核LK根據指令進入快速啟動FASTB00T模式; 所述微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識;以及 所述微型化內核LK根據所述標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。
2.如權利要求1所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,所述指令包括熱鍵指令或代碼中設置的模式切換指令。
3.如權利要求1所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,所述進行MEDOM鏡像下載,進一步包括: 所述微型化內核LK將下載信息發(fā)送至OEMSBL ; 所述OEMSBL根據所述下載信息進行MEDOM鏡像下載;以及 所述OEMSBL在下載完成之后更新所述標識。
4.如權利要求3所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,所述下載信息包括大小SIZE信息、分區(qū)參數信息和數據信息,其中,所述下載信息是從所述微型化內核LK中獲取的。
5.如權利要求4所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,所述微型化內核LK通過共享內存將下載信息發(fā)送至0EMSBL。
6.如權利要求4所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,所述OEMSBL根據分區(qū)參數信息將所述數據信息寫入至對應的分區(qū),并更新偏移地址。
7.如權利要求6所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,所述OEMSBL通過FLASH中的PR0GRAMJMG函數將所述數據信息寫入至對應的分區(qū)。
8.如權利要求6所述的移動終端中MEDOM芯片及LINUX芯片統(tǒng)一下載的方法,其特征在于,還包括: 所述微型化內核LK繼續(xù)向所述OEMSBL發(fā)送下載信息,直至MEDOM鏡像下載結束。
9.一種移動終端,其特征在于,所述移動終端的微型化內核LK根據指令進入快速啟動FASTB00T模式,并在進入所述快速啟動FASTB00T模式后,所述微型化內核LK獲得MEDOM芯片的OEMSBL中存儲的標識,以及所述微型化內核LK根據所述標識判斷進行MEDOM鏡像下載或進行LINUX鏡像下載。
10.如權利要求9所述的移動終端,其特征在于,所述指令包括熱鍵指令或代碼中設置的模式切換指令。
11.如權利要求9所述的移動終端,其特征在于,所述微型化內核LK用于將下載信息發(fā)送至0EMSBL,并根據所述下載信息進行MEDOM鏡像下載,其中,所述OEMSBL在下載完成之后更新所述標識。
12.如權利要求11所述的移動終端,其特征在于,所述下載信息包括大小SIZE信息、分區(qū)參數信息和數據信息,其中,所述下載信息是從所述微型化內核LK中獲取的。
13.如權利要求12所述的移動終端,其特征在于,所述微型化內核LK通過共享內存將下載信息發(fā)送至OEMSBL。
14.如權利要求12所述的移動終端,其特征在于,所述OEMSBL用于根據分區(qū)參數信息將所述數據信息寫入至對應的分區(qū),并更新偏移地址。
15.如權利要求14所述的移動終端,其特征在于,所述OEMSBL用于通過FLASH中的PR0GRAM_IMG函數將所述數據信息寫入至對應的分區(qū)。
16.如權利要求14所 述的移動終端,其特征在于,所述微型化內核LK還用于繼續(xù)向所述OEMSBL發(fā)送下載信息,直至MEDOM鏡像下載結束。
【文檔編號】H04M1/725GK103905631SQ201210589901
【公開日】2014年7月2日 申請日期:2012年12月31日 優(yōu)先權日:2012年12月31日
【發(fā)明者】張志平 申請人:比亞迪股份有限公司