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