日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ZYNQ7000 通过FPGA Manager加载比特流

發布時間:2023/12/13 综合教程 62 生活家
生活随笔 收集整理的這篇文章主要介紹了 ZYNQ7000 通过FPGA Manager加载比特流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager

https://blog.csdn.net/weixin_40604731/article/details/100690049

注意:以上參考限制了vivado的版本,應該為2018.1以上。

前言

實際項目中,往往存在PL端設計不斷迭代的過程。

一種是可以不斷生成新的fsbl合成BOOT.BIN文件,拷貝到SD卡,但涉及到每次需要生成BOOT.BIN插拔SD卡,比較難受。

有么有可以直接download到linux,通過linux的驅動層去更新PL端呢?

xilinx提供了FPGA manager(流程暫未驗證)。

linux為啥可以更新PL,主要是有驅動管理:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841847/Solution+ZynqMP+PL+Programming

流程

以下只是驗證PL的更新,不包含設備樹的DTO操作方法,詳情見參考鏈接。

1.有一個正常啟動的linux工程及硬件平臺,不贅述。

2.在內核配置中啟用相關項:

(1)啟用部件

(2)配置連續DMA

2.在device tree中添加:

devcfg: devcfg@f8007000 {
        compatible = "xlnx,zynq-devcfg-1.0";
        interrupt-parent = <&&intc>;
        interrupts = <0 8 4>;
        reg = <0xf8007000 0x100>;
        clocks = <&&clkc 12>, <&&clkc 15>, <&&clkc 16>, <&&clkc 17>, <&&clkc 18>;
        clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
        syscon = <&&slcr>;
};
fpga_full: fpga-full {
       compatible = "fpga-region";
       fpga-mgr = <&&devcfg>;
       #address-cells = <2>;
       #size-cells = <2>;
};

3.使用tcl腳本自動創建bit.bin文件:我的工程在dev,tcl腳本放在dev目錄即可:

##############################################################
####(1)使用tcl腳本自動生成ZYNQ PS端配置PL端所需的bit.bin文件
####
####
##############################################################
#設置bit文件名字
set bit_file_name radar_top
#設置當前目錄
set dev_dir [pwd] 
cd ${dev_dir}/project_1.runs/impl_1
#在bit文件路徑下創建bif文件,w表示如果文件存在則清空文件內容,否則創建新的空文件
set f01 [open  "Full_Bitstream.bif"  w] 
#把字符串寫入文件中
puts $f01 "all:
{
${bit_file_name}.bit
}"
#關掉文件
close $f01
#執行bootgen創建bin文件bootgen命令不是tcl命令,使用exec在命令行中執行,-w on為如果bin文件存在則強制覆蓋
exec bootgen -w on -image Full_Bitstream.bif -arch zynq -process_bitstream bin
#打印顯示完成
puts "Bin file create finish!"

4.把bin文件放到Linux下并執行:

注意:如果使用了PS和PL端通信的DMA,在PL升級后linux下的對應驅動需要重新掛載。

參考鏈接:https://forums.xilinx.com/t5/%E5%B5%8C%E5%85%A5%E5%BC%8F%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91/%E9%80%9A%E8%BF%87fpga-manager%E6%9B%B4%E6%96%B0PL%E7%A8%8B%E5%BA%8F%E7%BB%93%E6%9E%9C%E4%B8%8E%E9%A2%84%E6%9C%9F%E4%B8%8D%E4%B8%80%E8%87%B4/td-p/1049468

以上。

總結

以上是生活随笔為你收集整理的ZYNQ7000 通过FPGA Manager加载比特流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。