以下基於某方案公司架構分析,從上到下大致的流程如下:
aptvserver
video/audio+kernel+android
bootcode
8051code
==8051****************************************==
這部分是開機和待機條件下保持最小系統的部分,主要在ic裡包了一顆8051晶元,跑的程式相對也比較簡單
從main函式開始
main()
sleepmodepowerdownloop();//這裡做迴圈檢測,下面看看裡面都做了哪些功能檢測
sleepmodepowerdownloop()
while(1) {
chk_stm(get_event_msg());
chk_cec(get_event_msg();//檢測cec裝置
pm_irda_get_key(&dwregistervalue) && dwregistervalue);//檢測遙控按鍵訊息
pm_lsadcpowerdetect(&retval);
chk_mhl(get_event_msg());//檢測mhl裝置
pm_power_off_detect_source(); //檢測通道訊號
chk_wut(get_event_msg()) //定時啟動
如果檢測到ok,呼叫
maincpu_poweron(); 啟動主ic
8051進入 while(1);
}
基於mips架構的uboot啟動流程(3)
要注意mips具有流水線可見性,所以跟在跳轉指令後的下一條指令,在執行跳轉到的地方前,都會執行,這個叫分支延遲。但是編譯器會隱藏該特性,但可以通過設定 set noreorder 來禁止編譯器重新組織 順序。每個板子都有自己的lds檔案。這個主要是用來說明編譯生成的指令,及執行過程中用到的資料放置的...
基於mips架構的uboot啟動流程(4)
特點和功能 u boot yamon 支援的 cpu 和 board 1.支援種類繁多,包括 arm 的各個系列 ppc,mips 2.mips 的支援較差,目前支援 au1100,au1500 系列,4kec 的需要自己移植 工作量主要在起始 的初始化部分,包括 cahe 和中斷的初始化 1.基本...
基於mips架構的uboot啟動流程(4)
特點和功能 u boot yamon 支援的 cpu 和 board 1.支援種類繁多,包括 arm 的各個系列 ppc,mips 2.mips 的支援較差,目前支援 au1100,au1500 系列,4kec 的需要自己移植 工作量主要在起始 的初始化部分,包括 cahe 和中斷的初始化 1.基本...