卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

uboot啟動(dòng)流程詳解

在處理器初始剛上電的狀態(tài)時(shí),需要小心設(shè)置好許多關(guān)鍵狀態(tài),包括CPU狀態(tài)、中斷狀態(tài)、MMU狀態(tài)等。其次,根據(jù)硬件資源進(jìn)行板級(jí)初始化,包括代碼重定向等操作。最后,進(jìn)入命令行狀態(tài),等待處理輸入命令。 啟動(dòng)流

在處理器初始剛上電的狀態(tài)時(shí),需要小心設(shè)置好許多關(guān)鍵狀態(tài),包括CPU狀態(tài)、中斷狀態(tài)、MMU狀態(tài)等。其次,根據(jù)硬件資源進(jìn)行板級(jí)初始化,包括代碼重定向等操作。最后,進(jìn)入命令行狀態(tài),等待處理輸入命令。

啟動(dòng)流程具體步驟

1. 關(guān)閉中斷,設(shè)置關(guān)鍵寄存器:在此階段,需要關(guān)閉中斷,設(shè)置svc模式并禁用MMU、TLB,并配置時(shí)鐘、看門狗的寄存器。

2. 堆棧環(huán)境設(shè)置和代碼重定向:在進(jìn)行代碼重定向之前,進(jìn)行板級(jí)初始化,包括串口、定時(shí)器、環(huán)境變量、I2C、SPI等資源的初始化。

3. 進(jìn)行代碼重定向:完成代碼重定向后的板級(jí)初始化操作,包括板級(jí)定義的初始化操作、EMMC、NAND Flash、網(wǎng)絡(luò)、中斷等的初始化。

4. 進(jìn)入命令行狀態(tài):等待終端輸入命令,并對(duì)命令進(jìn)行相應(yīng)處理,這是uboot啟動(dòng)流程中的核心部分。

關(guān)于spl和uboot的初始化

在spl的階段已經(jīng)對(duì)arch級(jí)進(jìn)行了初始化,為何uboot還要再次對(duì)arch初始化?實(shí)際上,spl對(duì)于uboot的啟動(dòng)并非必須的。有些情況下,uboot可能會(huì)直接從ROM或者flash上開始執(zhí)行,而不經(jīng)過spl階段。這取決于平臺(tái)的啟動(dòng)機(jī)制。因此,uboot會(huì)完整地執(zhí)行一遍初始化操作,以確保CPU處于所需狀態(tài)。

spl啟動(dòng)過程的差異

就以tiny210為例,前期arch的初始化流程基本一致,真正的區(qū)別在于在`board_init_f`開始時(shí)。在啟動(dòng)過程中,uboot將負(fù)責(zé)處理更多的初始化工作,確保系統(tǒng)順利啟動(dòng)。透過``可以看到uboot代碼的入口。

通過深入了解uboot的啟動(dòng)流程和相關(guān)初始化操作,可以更好地理解系統(tǒng)啟動(dòng)的細(xì)節(jié),從而為系統(tǒng)優(yōu)化和問題排查提供更為有力的支持。

標(biāo)簽: