- 1. 燒寫背景
FPGA芯片,如果是ZYNQ系列這種自帶ARM處理核的器件,包含PS和PL處理部分,只是邏輯的debug可以只使用PL部分。但是如果要實現(xiàn)文件的燒寫就必須通過PS部分進行燒寫。因為與外部flash芯片相連的QSPI是通過PS部分連接的,且也需要PS部分對FPGA的boot進行配置。
?
Zynq7000 SOC 芯片上電后,運行的是 ARM 系統(tǒng)(PS)。然后再通過 ARM 系統(tǒng)軟件部分加載?FPGA?的比特流文件.bit 至 FPGA(PL),啟動 FPGA 的邏輯功能。
- 2. 燒寫步驟
2.1. ?PL端步驟
??PL部分邏輯測試完成后,開始添加PS部分調(diào)用。
- IP INTEGRATOR --> Create Block Design-->add--> ZYNQ7 Processing System生成一個PS的調(diào)用模塊
??
2. 點擊 Peripheral I/O Pins ,會出現(xiàn)以下的 IO 配置界面。
點亮下面Quad SPI Flash,還有UART0,如果還有其他管腳,也對應的點亮就行。
?
3. 在MIO Configuration中配置對應的管腳和電頻,要與peripheral I/O pins中綠色部分一致。
?
4. 時鐘配置
?5. DDR存儲配置,也可以不enable DDR。DDR的信號,例如MT41K256M16HA-125黃色這部分型號必須一致,其他的可以不一樣。
?
6. 完成后 Run Block Automation,自動將管腳的輸入輸出引腳加上了。
?
點擊完成后變成:
?
7. 這兩個腳可能需要連線,有的教程沒有這一步,開發(fā)板入門教程連起來了,但是如果不連起來,可能會報錯,可能與版本有關(guān)。
?
8. 在 Source 窗口中選中 design_1.bd,右鍵并先后選擇Generate Output Projects 和 Create HDL Wrapper 選項操作。生成后如下圖所示:
?
9.? 把design_1.v例化進工程頂層,修改頂層代碼,并將接口引出到頂層輸出接口。PS端的接口不用編寫XDC文件。
?
10 .保存并重新生成bit文件,再導出硬件。
選擇菜單 File->Export->Export Hardware…導出,包含bitstream 文件。
硬件導出后,選擇菜單 File->Launch SDK,啟動 SDK 開發(fā)環(huán)境,完成PL端的操作。
?
2.2. ?PS端步驟
PS端用于生成配置文件和引導文件,在SDK中進行操作。
- 建立hello word工程
File–New–Application Project,設置如下:
?
?
- 建立fsbl工程
這里的FSBL文件就是通過QSPI啟動需要的引導文件,需要我們在SDK中新建,具體操作與建HELLO WORD工程一致,在Templates頁面選擇Zynq FSBL即可。
???
?
?
2.3. ?生成.bin/.mcs格式文件
將程序燒寫到Flash中實際就是將.bin文件或.mcs文件寫入Flash,這里生成我們需要的.bin文件或.mcs文件,.bin格式文件用于SD卡啟動與QSPI Flash啟動,.mcs格式只能用于QSPI Flash啟動。
1. 右擊hello_test工程,選擇create boot image
?
標記1:可以選擇生成文件格式。
標記2:生成.bin/.mcs主要需要3個文件,分別是fsbl.elf文件,PL端生成的.bit文件與SDK中工程的.elf文件,需要注意的是這三個文件的順序一定要正確。
由于這里用的是hello例程,系統(tǒng)已將3個文件導入。如果系統(tǒng)沒有導入需要我們自己到工程文件夾下依次添加。
可以在工程文件夾下找到boot的文件了
?
?
- 程序固化
3.1 通過SDK軟件固化
打開 Xilinx–Program Flash燒寫界面
1.導入生成的.bin文件。
2.導入fsbl工程下的fsbl.elf文件。
3.在擦除和燒寫完成是進行自檢。(也可以不要3這個步驟速度更快)
?
然后點擊Program就可以完成燒寫。
3.2 通過Vivado軟件固化
通過JTAG連接板卡,在FPGA芯片選項右鍵,選擇Add Configuration Memory Device,然后選擇板卡上對應的Flash型號。
這個界面也是選擇的在SDK生成的.bin文件以及FSBL文件,然后點OK就可以完成燒寫。
以上就是全部ZYNQ系列FPGA通過QSPI啟動的固化方式的介紹。
注意:一定要正確配置PS核的信息,包括DDR3型號和BANK的電壓
- 燒寫不成功處理
建一個這樣類型的design,需要注意一下方面:
1.上電后不能讓FPGA加載一個錯誤的版本,如空的rt的bin,如果已經(jīng)有錯誤的則一直按著復位鍵,讓版本不啟動再燒寫。
2.bd問題,要及時更新,如果之前出現(xiàn)有錯誤的版本,需要全部刪除了,重新再建工程。
3.三大步的流程問題。
4.如果選擇了DDR,DDR的設定位寬一定要與實際中的位寬設定一致,是16bit還是32bit。
5.修改win11的環(huán)境變量(可能沒什么用)
在系統(tǒng)環(huán)境變量里面加入
XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ = 10000000文章來源:http://www.zghlxwxcb.cn/news/detail-718505.html
重啟電腦文章來源地址http://www.zghlxwxcb.cn/news/detail-718505.html
到了這里,關(guān)于ZYNQ自帶ARM核處理器的FPGA芯片燒寫及最小系統(tǒng)搭建,bit文件燒寫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!