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手機助手可以看到手機和手機...