zynq 按照傳統的Linux開發模式制作系統
參考資料
xilinx wiki: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/460653138/Xilinx+Open+Source+Linux
前置知識
zynq啟動流程 (UG585,第六章)

BootRom
BootRom為一塊只讀存儲器,里面程序一般出廠前或者流片前寫死的,它主要負責從外部存儲設備中讀取啟動鏡像。(Ps:部分開發板引入了引腳啟動機制,通過撥碼開關,控制引導鏡像的存儲介質,BootRom也會根據引腳狀態確定要引導鏡像的位置)
BootRom從外部存儲設備讀取啟動鏡像后,通常將其加載到OCM中。
BootRom支持文件系統訪問,支持FAT32,FAT16文件系統

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卡啟動流程

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

浙公網安備 33010602011771號