高通平台的啟動流程如下:
現對各個階段說明如下:
pm檢測到系統上電,將會給msm發出上電復位訊號,要求msm復位。這樣ap(kryo應用處理器)將會退出reset狀態。
注:kryo是qualcomm technologies推出的首款定製設計的64位cpu。
在ap處理器側,應用主引導引導程式(應用pbl)執行。pbl:primary boot loader 是不可改變的bootloader。pbl的作用是硬體初始化、配置資料等。 (該部分是在內部rom中執行 )
a. 對extensible boot loader (xbl) region #1 進行身份認證,並將其從引導裝置(as tcm)載入到l2。
b. 驗證xbl region #2 (ddr/sdi equivalent)並將其載入到片上內部儲存器(ocimem),然後跳轉到xbl region #1
在 xbl region #1中,xbl對pmic映象進行身份認證並將其從引導裝置載入到內部緩衝區 (該部分是在imem中執行 )
a. 對qsee進行身份認證,並將其從引導裝置載入到pimem
qsee - qualcomm secure execution environment
b. 對qhee (hypervisor) image 進行身份認證,並將其從引導裝置載入到ddr
qhee - qualcomm hypervisor execution environment
c. 對rpm firmware image 進行身份認證,並將其從引導裝置載入 rpm code ram
d. 對little kernel(lk) boot (or xbl region #3)進行身份認證,並將其從啟動裝置載入到ddr
xbl region #1 結束工作,下一步由qsee執行 (以下是在ddr中執行 )
qsee使rpm退出reset狀態,啟動並執行rpm firmware
qsee建立乙個安全的環境,並跳轉到qhee image,啟動並執行它
qsee跳轉到lk boot(or xbl region #3),啟動並執行
lk boot (or xbl region #3)對hlos kernel進行身份驗證,並進行裝載 (hlos - high-level operating system指作業系統,比如windows、linux、android等)。以android系統為例,這裡裝載完成後,開始執行linux。
hlos kernel 通過pil把mba載入到ddr
(mba - modem boot authenticator pil - peripheral image loader)
hlos kernel 使hexagon modem dsp退出reset狀態(從kernel log也可以看到,8-9s左右modem才復位)
modem pbl將mba從ddr複製到modem tcm,對mba進行身份認證,並跳轉到mba image
hlos通過pil把amss modem image載入到ddr
mba對modem image進行身份認證,然後跳轉到modem(這裡modem才真正跑起來)
hlos通過pil載入venus、 lpass 和 ssc images到ddr
hlos使venus、 lpass 和 ssc退出reset狀態,並通過乙個安全的smc呼叫(監控模式)啟動執行各個子系統。
注意:縱向是執行的儲存裝置(在**執行),橫向是執行的單元(包括多個處理器以及dsp)。
以msm8953為例,其內部包含有多個dsp和ap的:
監控平台啟動步驟
1 在所有的資料夾中,包括logger 日誌 portal backend 服務端 portal frontend 前端 sdk web資料夾中執行 npm i,然後在跟目錄下執行 npm i 2 在根目錄中執行 npm run start 3 在api proxy 頁面開啟 api 到4000 4...
UVM平台啟動和結束
uvm中通過objection機制來控制驗證平台的關閉。在每個phase中,uvm會檢查是否有objection被提起 raise objection 如果有,那麼等待這個objection被撤銷 drop objection 後停止 如果沒有,則馬上結束當前phase。raise objectio...
高通平台Bring up
3.2.amss 部分編譯 主要由以下部分構成 adsp,boot,debug,modem,rpm,trustzone,wcnss,分別根據高通的說明編譯這些模組,不過其中有些模組我們不會改,直接用release的binary檔案就行,比如 debug,rpm,trustzone,wcnss。3.3...