首先上樹莓派的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...