前言 本操作如何固化ZYNQ PL端程序到FLASH分享---基于廣州星嵌電子科技有限公司設(shè)計(jì)研發(fā)的Zynq7015平臺(tái)。 板載QSPI FLASH一顆,具體型號(hào)為:MT25QL256ABA1EW9-0SIT。 首先,打開已經(jīng)完成的Vivado設(shè)計(jì)例程,點(diǎn)擊Project Manager下面的IP Integrator -> Create Block Design,創(chuàng)建Block Design設(shè)計(jì)文件: ![]() 在彈出的對(duì)話框中,點(diǎn)擊OK: ![]() 在Diagram窗口,點(diǎn)擊中間加號(hào)按鈕,添加IP: ![]() 在彈出的IP添加窗口的搜索欄中,輸入zynq字樣,然后雙擊選中ZYNQ7 Processing System: ![]() 添加好ZYNQ7 Processing System IP核后,雙擊該IP核,對(duì)此IP核進(jìn)行配置: ![]() 設(shè)置ZYNQ7 Processing System IP核的外設(shè)IO: ![]() 設(shè)置ZYNQ7 Processing System IP核的DDR內(nèi)存,然后點(diǎn)擊OK,完成IP核配置: ![]() 點(diǎn)擊Run Block Automation,運(yùn)行模塊自動(dòng)化,并在彈出的對(duì)話框中直接點(diǎn)擊OK: ![]() ![]() 使用鼠標(biāo)左鍵,單擊FCLK_CLK0,并拖動(dòng)鼠標(biāo)至M_AXI_GP0_ACLK,將這兩個(gè)管腳短接起來: ![]() 在Sources窗口,右鍵點(diǎn)擊design_1.bd文件,在彈出的菜單中,選擇Generate Output Products…,并在隨后彈出的對(duì)話框中點(diǎn)擊Generate: ![]() ![]() 輸出文件生成完畢后,點(diǎn)擊OK: ![]() 在Sources窗口,右鍵點(diǎn)擊design_1.bd文件,在彈出的菜單中,選擇Create HDL Wrapper…,并在隨后彈出的對(duì)話框中點(diǎn)擊Generate: ![]() 在彈出的對(duì)話框中直接點(diǎn)擊OK: ![]() 在Sources窗口,雙擊打開剛剛生成的design_1_wrapper.v文件: ![]() 將Vivado之前的工程頂層模塊例化到design_1_wrapper.v設(shè)計(jì)文件中: ![]() 整理design_1_wrapper.v模塊的輸入、輸出管腳,并將Vivado例程頂層模塊的管腳添加進(jìn)來: ![]() 點(diǎn)擊Generate Bitsteam,生成bit流文件,在彈出的對(duì)話框中選擇Yes: ![]() ![]() 如果在生成bit流文件過程中,產(chǎn)生了如下錯(cuò)誤,則按照錯(cuò)誤提示,添加時(shí)鐘約束,如下示例紅框中所示,將紅框里面的內(nèi)容復(fù)制到約束文件中: ![]() 雙擊Constraints -> constrs_1下面的xdc約束文件,xdc約束文件打開后,將錯(cuò)誤提示內(nèi)容復(fù)制到xdc約束文件中,然后點(diǎn)擊保存: ![]() 然后,再次點(diǎn)擊Generate Bitsteam,生成bit流文件,在彈出的對(duì)話框中選擇Yes。 bit流文件生成完成后,在彈出的窗口中點(diǎn)擊Cancel: ![]() 點(diǎn)擊File -> Export -> Export Hardware…: ![]() 在彈出的對(duì)話框中,選中Include bitstream,然后點(diǎn)擊OK: ![]() 點(diǎn)擊File -> Launch SDK,并在彈出的對(duì)話框中點(diǎn)擊OK: ![]() ![]() 隨后,SDK軟件被打開: ![]() 在Xilinx SDK軟件界面,點(diǎn)擊File -> New -> Application Project: ![]() 用戶自定義fsbl工程名,如下示例fsbl,然后點(diǎn)擊Next: ![]() 選擇Zynq FSBL模板,并點(diǎn)擊Finish: ![]() 等待Build進(jìn)度條完成: ![]() fsbl工程Build進(jìn)度條完成后,在fsbl -> Binaries目錄下面會(huì)生成一個(gè)fsbl.elf文件: ![]() 點(diǎn)擊Xilinx Tools -> Create Zynq Boot Image: ![]() 指定bif文件存放路徑,用戶自定義位置: ![]() 添加FSBL文件,將剛剛生成的fsbl.elf文件添加到Boot image partitions中: ![]() ![]() 添加bit流文件,將bit流文件添加到Boot image partitions中: ![]() ![]() 最后,點(diǎn)擊Create Image,生成鏡像文件BOOT.bin: ![]() 燒寫FLASH前,需確保下載模式配置為JTAG模式,即開發(fā)板SW2撥碼開關(guān)的2位撥碼均需要撥到ON的位置,如下圖紅框所示: ![]() 開發(fā)板上電,然后點(diǎn)擊Xilinx Tools -> Program Flash: ![]() 點(diǎn)擊Browse,選擇剛剛生成的鏡像文件BOOT.bin,然后點(diǎn)擊Program: ![]() 等待燒寫完成: ![]() FLASH燒寫完成后,在控制臺(tái)輸出Flash Operation Successful信息: ![]() 燒寫完FLASH后,給開發(fā)板斷電,并將SW2撥碼開關(guān)設(shè)置為QSPI FLASH啟動(dòng)模式,即1號(hào)撥碼位撥到ON位置,2號(hào)撥碼位撥到ON的對(duì)立面,如下圖紅色箭頭所示: ![]() 開發(fā)板上電,查看實(shí)驗(yàn)程序是否運(yùn)行起來。 ![]() ![]() |