zynq 按照傳統的Linux開發模式製作系統

IDLE已死發表於2024-11-25

參考資料

xilinx wiki: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/460653138/Xilinx+Open+Source+Linux

前置知識
zynq啟動流程 (UG585,第六章)
![image-20241114220853526](./zynq Linux啟動.assets/image-20241114220853526.png)

BootRom
BootRom為一塊只讀儲存器,裡面程式一般出廠前或者流片前寫死的,它主要負責從外部儲存裝置中讀取啟動映象。(Ps:部分開發板引入了引腳啟動機制,透過撥碼開關,控制引導映象的儲存介質,BootRom也會根據引腳狀態確定要引導映象的位置)

BootRom從外部儲存裝置讀取啟動映象後,通常將其載入到OCM中。

BootRom支援檔案系統訪問,支援FAT32,FAT16檔案系統

![image-20241114221030402](./zynq Linux啟動.assets/image-20241114221030402.png)

BootROM負責:
上電覆位以後,PS端即開始進行配置。在不使用JTAG的情況下,ARM將在片上的BootROM中開 始執行程式碼。BootROM中的程式碼對NAND、NOR、Quad-SPI、SD與PCAP的基本外設控制器進行 初始化,使得ARM核可以訪問、使用這些外設。(而DDR等其他外設將在階段1或者之後進行初始 化。)

BootROM讀取MIO[2..8]的引腳設定來確定啟動裝置,將選定裝置的頭192Kbyte內容,也就是 FSBL,複製到OCM中,並將控制權交給FSBL。 FSBL啟動時可以使用整塊256Kb的OCM,當FSBL開始執行後,器件就正式由由使用者控制了。

對於SD卡啟動流程
![image-20241115234753265](./zynq Linux啟動.assets/image-20241115234753265.png)

懶得重新寫了,直接看github吧GitHub

相關文章