android TV架構啟動流程分析(一)

2021-07-26 04:20:23 字數 764 閱讀 3063

以下基於某方案公司架構分析,從上到下大致的流程如下:

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.基本...