ZYNQ啟動(dòng)是由ARM引導(dǎo)FPGA,以及用戶程序的加載。
預(yù)配置階段
Pre-configurationstage
1. 通過上電復(fù)位(POR),將PMU(平臺(tái)管理單元/Platform Management Unit)從復(fù)位狀態(tài)喚醒,提供如下操作:
復(fù)位低壓域LPD寄存器
復(fù)位全電源域FPD寄存器
復(fù)位PMU的RAM
復(fù)位PMU處理器的TLB內(nèi)存
檢查LPD、AUX、專用IO等區(qū)域電壓
復(fù)位CSU、LPD、FPD的內(nèi)存區(qū)
2.執(zhí)行PMU ROM中的預(yù)啟動(dòng)代碼,以執(zhí)行復(fù)位操作(包括配置安全單元CSU)復(fù)位),該階段結(jié)束的標(biāo)志是CSU復(fù)位的釋放。 預(yù)啟動(dòng)代碼進(jìn)行的初始化操作:
初始化PS Sysmon單元和啟動(dòng)所需要的PLL
清除PMU RAM 和 CSU RAM區(qū)域
驗(yàn)證PLL鎖
利用PS Sysmon驗(yàn)證LPD、AUX、I/O的范圍
清除低壓域(LPD)和全電源域(FPD)
配置階段
Configuration stage
CSU復(fù)位后,初始化OC-RAM,將FBSL加載到OC-RAM(on-chip RAM),CSU加載PMU用戶固件(PMU FW:firmware)到PMU RAM,若沒有則不加載。
在ZYNQ上運(yùn)行程序的時(shí)候,Boot Rom直接固化在硬件中,開發(fā)者無法修改。FSBL(first stage boot loader)是第一階段的加載程序,經(jīng)過這個(gè)階段,后面系統(tǒng)才能夠運(yùn)行裸奔程序或者是引導(dǎo)操作系統(tǒng)的u-boot。用戶可以選擇用cortex-a53制作啟動(dòng)的FSBL文件,也可以選擇用cortex-r5來制作啟動(dòng)的FSBL文件。
處理器開始執(zhí)行FSBL代碼。FSBL(first-stage boot loader)的作用如下:
1.初始化PS端配置,如:MIO、PLL、DDR、QSPI、SD等。
2.加載PL端程序,即:加載bitstream
3.搬運(yùn)用戶程序到DDR,并跳轉(zhuǎn)執(zhí)行。
PCAP(處理器配置訪問端口processor configuration access port)用于從PS配置PL。PCAP是在正常操作條件下用于配置PL的唯一接口。在調(diào)試過程中,可以使用JTAG接口來配置PL。PS通過secure-stream switch連接到PCAP??梢允褂肅SU DMA或AES路徑將比特流數(shù)據(jù)發(fā)送到PL。
FSBL使用PCAP接口為PL配置比特流,步驟如下:
1.初始化PCAP接口。
2.通過PCAP寫入比特流(Bitstream)。
3.等待PL完成狀態(tài)。
后配置階段
Post-configuration stage
FBSL執(zhí)行后,CSU ROM代碼進(jìn)入Post-configuration階段,負(fù)責(zé)起系統(tǒng)干預(yù)響應(yīng),提供硬件支持。PMU仍然需要運(yùn)行,用于后續(xù)改變系統(tǒng)的電源狀態(tài)(上電、睡眠、喚醒等等)。這個(gè)階段會(huì)啟動(dòng)SSBL,就是Linux的bootloader,開始引導(dǎo)啟動(dòng)Linux系統(tǒng)。
? ?
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1624文章
21539瀏覽量
600483 -
ARM
+關(guān)注
關(guān)注
134文章
9006瀏覽量
366039 -
上電復(fù)位
+關(guān)注
關(guān)注
1文章
39瀏覽量
15761 -
PMU
+關(guān)注
關(guān)注
1文章
107瀏覽量
21533 -
Zynq
+關(guān)注
關(guān)注
9文章
604瀏覽量
47072
原文標(biāo)題:ZYNQ MPSoc的啟動(dòng)過程
文章出處:【微信號(hào):雷達(dá)通信電子戰(zhàn),微信公眾號(hào):雷達(dá)通信電子戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論