MYIR-ZYNQ7000系列-zturn教程(9):將bit檔案固化到QSPI_Flash
開發板環境:vivado 2017.1 ,開發板型號xc7z020clg400-1。
我們用FPGA最後生成的是二進位制bit檔案,bit檔案下載到開發板是在記憶體裡執行如果斷電程式會丟失。如果我們用FPGA生成的bit檔案和zynq核生成的fsbl合成一個BOOT.bin檔案,這個zynq核配置了DDR核QSPI_Flash,然後將這個BOOT.bin檔案下載到QSPI_Flash讓開發板執行在QSPI_Flash啟動模式就能讓開發板斷電程式也不會丟失。如下圖所示
Step1 這是已經新建好的一個vivado 流水燈的fpga工程
Step2 點選Flow Navigator 下的Create Block Desion新建一個Block Desion
點選OK
Step3 點選工作區的Add IP新增IP核,在彈出的搜尋欄Search中輸入zynq,發現可以搜到ZYNQ IP核,雙擊這個ZYNQ核新增到工作區內
新增好的ZYNQ核如下圖所示
Step4 雙擊ZYNQ IP核新增tcl配置檔案,然後點選OK(如果不知道怎樣新增請參考hello_world工程裡面有詳細步驟)
已經配置好的zynq核,如下圖所示
我們配置zynq核時一定不要忘記配置這個QSPI_Flash,有很多人沒有這裡沒有配置
QSPI_Flash導致最後下載到QSPI_Flash時失敗
Step 5 點選Run Block Automation進行自動佈線
在彈出的對話方塊中點選OK
自動佈線完成後如下圖所示
Step6 右擊 design_1->Generate Ouput Products 生成綜合檔案
在彈出的對話方塊中點選Generate
Step7 右擊 design_1->Create HDL Wrapper 生成頂層文件
在彈出的對話方塊中點選OK
頂層檔案生成後如下圖所示
將這個流水燈user_led例化到這個zynq核的頂層檔案裡,如下圖所示
流水燈user_led例化到zynq核完成後,如下圖所示
Step8 點選Generate Bitstream產生bit檔案
點選Yes
點選OK
在彈出的對話方塊中可以看出bit檔案生成成功 ,點選Cancel關閉對話方塊
Step9 點選選單欄上的 File->Export->Export Hardware 匯出硬體配置檔案
在彈出的對話方塊中勾選Include bitstream ,然後點選OK
Step10 點選選單欄上的 File->Launch SDK->OK啟動SDK
點選OK
Step11 點選選單欄上的 File->New->Application Project新建工程新建一個fsbl
在彈出的對話方塊中填寫fsbl
在工程模板中選擇Zynq FSBL
Step12 右擊 fsbl->Create boot Image, 生成BOOT.bin啟動檔案
在彈出的對話方塊中點選Create Image ,生成BOOT.bin
連線開發板電源和jtag下載器,並且將開發板打到SD卡啟動模式JP1斷開、JP2閉合,如下圖所示
Step13 點選選單欄上的xilinx Tools-->Program Flash
在彈出的對話方塊中點選Image File 的Browse將我們生成的BOOT.bin檔案新增進來
找到我們生成的BOOT.bin檔案,然後點選開啟將BOOT.bin檔案新增進來,如下圖所示
點選Program 將BOOT.bin檔案下載到QSPI_Flash
BOOT.bin檔案正在往QSPI_Flash中下載,如下圖所示
BOOT.bin檔案往QSPI_Flash裡下載成功,如下圖所示
將開發板打到QSPI_Flash模式JP1閉合、JP2閉合,可以看到開發板三色燈D34不停的閃爍,如果將開發板電源斷開,
然後重新連線上可以看到開發板依然可以正常執行,可以看到開發板斷電程式沒有丟失
連結:https://pan.baidu.com/s/1nGBd7itC3n5eI2cGxAfxiA 提取碼:p9ma