ZYNQ的啓動分爲兩個階段:
第一階段:BOOT ROM(由ZYNQ廠家固化代碼)
第二階段:FSBL(First Stage Bootloader),由SDK工具來製作
1. 第一階段(BOOT ROM)
-
上電後,ZYNQ SOC會首先執行片內BOOT ROM代碼,BOOT ROM代碼讀取BOOT MODE寄存器來判斷是哪一種啓動方式(SD CARD / QSPI FLASH / JTAG);
-
確定好哪種啓動方式後,BOOT ROM從相應的啓動設備加載FSBL到片上內存RAM中,並將執行權交給FSBL;
2. 第二階段(FSBL)
-
初始化CPU,初始化串口;
-
初始化PS一些控制器,如MIO/PLL/CLK/DDR;
-
禁止L1 data cache;
-
註冊ARM中斷向量;
-
通過BOOT MODE寄存器,判斷是哪種啓動方式,並初始化相應的模塊。