最新电影在线观看,jrs低调看直播,avav天堂,囯产精品宾馆在线精品酒店,亚洲精品成人区在线观看

硬件工程師一定要了解的Android開機啟動流程

硬件工程師要了解Android開機流程干嘛?很多小伙伴肯定會提出質疑,甚至工作多年的硬件“老鳥”也會對此不屑一顧。

你且聽我細細道來。

對于做過高通或MTK等平臺項目的同學而言,一定經常面對開關機類問題的分析,是不是被折磨的酸爽,經常不知所措,碰到這類問題眼前一黑,不知從哪里開始分析。

如果此時的你,很熟悉Android開機流程的話,你就可以通過一份串口log(有可能干路問題,一點log沒有),初步定位到出問題的模塊,接著再針對性分析即可,是不是立馬神清氣爽了。

那么今天就以高通平臺為例,給大家簡單講解一下Android開機流程。(在此,特別感謝我軟件哥)

高通平臺的啟動流程可以大致分為四個階段:PBL--SBL--UEFI--Kernel,分別對應圖上的4個部分。

PBL(Primary Boot Loader):初始啟動加載的意思,這一階段運行在SOC的ROM里,主要是校驗和加載接下來要執行的SBL鏡像。

SBL(Second Boot Loader):第二階段啟動加載的意思,這一階段主要是初始化PMIC、Flash、DDR,并加載大量鏡像文件到DDR中,包括接下來要執行的UEFI鏡像。

UEFI(Unified Extensible Firmware Interface):統一可擴展固件接口的意思,這一階段主要是校驗和加載Kernel的鏡像。需要注意的是,顯示模塊也是在該階段首次做初始化,電亮第一幅圖片。這是我們分析不開機類問題時,可以直觀感受到的一個節點。

Kernel:核心的意思,作用正如其名字一般,這一階段會開始初始化各種驅動和子系統,并校驗system和vendor等鏡像,最后啟動各種服務,最后就到Android上層、Home界面啦。(咱們搞硬件的,這一階段重點關注各模塊初始化就可以,上層服務的問題一般和我們無關)

至此,想必你對這么復雜的開機流程已經有了一定了解了。那在log中,這幾個階段都是如何對應的呢?以如下部分log舉例,從PBL到UEFI,每個階段開始和結束都會伴隨著"xxx Start,xxx End"字樣。

需要注意的是,PBL階段本身并不吐log,只是到了SBL之后打印出了之前約定好的做事順序而已。

好了,作為一名成熟的硬件工程師,也該學會為你的BSP同學分擔一點壓力了,不用萬事先找軟件抓log啦。

以上就是本期分享的所有內容啦,歡迎大家持續關注,更多干貨正在快馬加鞭地趕來。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 2
關注 78
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧