mtk手機線刷

2021-09-25 21:17:13 字數 2131 閱讀 9484

mtk手機線刷

mtk手機刷機一般都是使用smart phone flash tool, 以我的mt6582為例,其刷機的介面如下圖1所示

刷機流程如下圖2所示:

preloader: 核心在啟動前的那一段平台相關的初始化**,統稱為bootloader,在mtk平台,preloader和lk分別是bootloader的兩部分,前一部分的preloader主要是平台相關**,後一部分lk主要是銜接作業系統的**。

mbr/ebr1/ebr2: 可能是分割槽相關資訊,還不確定???

uboot: 就是前面說的lk,botloader的第二部分**,這裡可以選擇進入recovery模式,還是正常啟動核心。

bootimg: bootimg是乙個映象,這個映象是由乙個目錄打包而成的,這個目錄中包含兩個檔案: 

乙個是zimage,就是的核心映象,這個映象是未解壓的,其核心的功能就是decompress_kernel,將真正的核心image解壓到記憶體的某個位置,然後跳轉執行。在boot.img中搜尋gzip的檔案頭(我這裡zimage和ramdisk是通過gzip壓縮的),第乙個搜到的就是壓縮後的image,如圖,這個位置屬於zimage的區域,往前找找就可以找到zimage的**頭部了。 

另乙個是ramdisk.img,這貨又是個映象,在系統啟動的時候,這個ramdisk.img會被解壓到記憶體,作為系統的根目錄檔案系統(可參考initrd實現)。在boot.img中搜尋gzip檔案頭,第二個搜尋到的就是ramdisk.img了,如圖。 

reclvery: 是recovery模式的核心。

sec_ro: 不知道是啥????

logo: 這貨應該是開機畫面

android: 是system.img

cache: 是cache.img

usrdata: 是userdata.img 這裡後續補充???????

mtk手機啟動

mtk手機啟動的總體流程如圖3: 

bootrom啟動[3]: 

bootrom是固化在晶元中的(應該是乙個nor flash晶元), 其**是無法通過刷機寫進去的,應該是出廠的時候就寫好的,這一塊的**,也沒有在mtk的原始碼目錄**現。

裝置上電後,最先執行的就是bootrom的**(圖3,步驟1)。

bootrom初始化軟體堆疊(software stack),通訊埠和可引導儲存裝置(如nand/emmc)(圖3,步驟2)。

bootrom從儲存器中(上面初始化的nand/emmc中)載入preloader到內部sram/isram(快取記憶體)中,此時dram(記憶體)還未初始化(在我這裡preloader.bin大小114kb), 就是刷機圖中的第一行」preloader」哪一行。(圖3,步驟3)

bootrom跳轉到preloader入口處執行。(圖3,步驟4)

preloader: 

preloader初始化dram和載入u-boot(lk)到dram中。(圖3,步驟5)

preloader跳轉到u-boot執行。(圖3,步驟6)

u-boot: 

u-boot從nada/emmc中載入kernel(boot image,包括zimage和ramdisk)。(圖3,步驟7,8)

u-boot跳轉到zimage的入口執行,這裡就可以算是linux kernel正式的入口了(此時還沒執行decompress_kernel)。(圖3,步驟9)

參考資料

[1]. 

[2]. 

[3]. 

[4]. 

[5]. 

[6]. 

[7].

原文: 

MTK手機驅動培訓資料

1 lcd的除錯 一般lcd廠商在提供樣品的時候,都會提供給初始化 服務更好的還會提供進入和退出sleep的 如果廠商不提供的話,就只有看著文件自己寫了。我們的工作一般是調節顯示效果以及和廠商溝通,還有就是把廠商給的 整合程序式裡面去。lcd驅動程式相關的檔案主要包括lcd.c,lcd sw.h以及...

MTK手機獲取imsi號

簡介 獲取sim卡的imsi碼 sim卡唯一標識 imsi 國際移動使用者識別碼 imsi international mobile subscriber identification number 是區別移動使用者的標誌,儲存在sim卡中,可用於區別移動使用者的有效資訊。imsi由mcc mnc ...

MTK平台手機adb問題

問題描述 客戶端程式連線外接的平板,由於用的adb工具通訊的,在客戶電腦上無法通訊 mtk平台的驅動與高通和海思的驅動不能通用,即在安裝了高通驅動的電腦上再安裝mtk的驅動會安裝失敗 adb工具配置好了還是無法使用adb命令 使用adb shell 不能正常執行,使用360手機助手可以看到手機和手機...