第1章 樹莓派4B啟動過程

2021-10-08 11:57:06 字數 890 閱讀 2968

首先上樹莓派的github 裡面能找到關於rpi 4b板卡的資源

玩一顆soc首先要了解啟動過程,做到知彼,

1):當pri 4b上電啟動時,arm cortex-a72 core處於standby狀態,videocore iv gpu core負責啟動系統。boot的啟動都是由gpu code來完成。gpu loade片上rom code 並執行,rom code主要功能為初始化 sd host controller,為後續讀取sd卡上的檔案做準備。

2):在rpi 4b以前的板卡如3b/3b+ 板卡會把乙個名為bootcode.bin 的bin檔案放在sd卡內,sd host controller初始化完成後rom code載入bootcode.bin並執行此檔案,

3):bootcode.bin 負責載入sd卡上的start.elf檔案(rpi 4b是start4.elf)並執行

rpi 4b板卡與之前的板卡區別在於,usb被掛到了pcie匯流排上,還有其他硬體的公升級,導致了4b啟動過程和sdram初始化比之前的板卡都要複雜的多,把這些功能都做到rom裡增加了**複雜度,引入bug的風險大大提公升,

所以4b在晶元內部增加了一塊eeprom來規避風險,將複雜的初始化程式放在了eeprom裡,這樣減少了rom code的工作量,方便維護,降低風險,並把bootcode.bin的功能也放進了eeprom,所以rpi 4b板卡sd卡啟動時,卡內不需要bootcode.bin

既然內部整合eeprom,可讀寫,這就有內部韌體損壞的可能。

樹莓派官網介紹了怎麼檢查eeprom 韌體是否完好,和recovery

下篇博文我們來用rpi 4b把uboot 先跑起來!!!下班回家。。。

樹莓派4B 網路啟動教程

近日閒來無事研究樹莓派4b,發現樹莓派的內建管理工具raspi config中新增了boot order選項欄,開啟之後裡面赫然寫著usb boot和network boot兩個選項。usb boot不必多言,選擇之後拿一塊u盤寫入映象插入usb介面後即可自動執行,不需要sd卡,但是network ...

樹莓派4b入門

sudo apt get install scim pinyin rebootdeb buster main non free contrib deb src buster main non free contrib deb buster main ui 配置vncverver服務允許遠端通過圖形化...

樹莓派4B配置U盤啟動

樹莓派4b的啟動程式比較特殊,儲存在外部eeprom晶元中。早期版本的eeprom啟動韌體不支援系統直接從usb裝置 u盤 行動硬碟 中啟動。因此,使用usb裝置啟動前,需要檢測當前eeprom韌體版本是否符合要求。方法1 在raspbian os終端中輸入命令 sudo rpi eeprom up...