0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Zynq-7000的方法

Xilinx賽靈思官微 ? 來(lái)源:djl ? 作者:FAE ? 2019-07-24 15:26 ? 次閱讀

在Zynq-7000上編程PL大致有3種方法:

1. 用FSBL,將bitstream集成到boot.bin中

2. 用U-BOOT命令

3. 在Linux下用xdevcfg驅(qū)動(dòng)。

步驟:

1. 去掉bitstream的文件頭

用FSBL燒寫PL Images沒有什么好說(shuō)的,用Xilinx SDK的Create Boot Image工具即可完成,不再贅述。用后兩種方法需要把bitstream文件的文件頭用bootgen工具去掉。

一個(gè)典型的bif文件如下所示:

the_ROM_image:
{
[bootloader].elf
.bit
.elf
}

bif文件可以用文本編輯器寫,也可以用Xilinx SDK的Create Boot Image工具生成。然后在命令行下用以下命令即可去掉bitstream文件的文件頭。

bootgen -image .bif -split bin -o i BOOT.BIN

"-split”參數(shù)可以生成以下文件:

.bit.bin

在Zynq-7000的方法

2. 在U-BOOT下燒寫PL Image

命令”fpga load”和”fpga loadb”都可以。區(qū)別是前一個(gè)命令接受去掉了文件頭的bitstream文件,后一個(gè)命令接受含有文件頭的bitstream文件。

在OSL 2014.2上,缺省編譯就可以完整支持寫入PL Image的功能。但是在Petalinux 2013.10下,盡管可以在U-BOOT下看到命令”fpga”,還需要在文件

/subsystems/linux/configs/u-boot/platform-top.h 中增加以下內(nèi)容后重新編譯才可以支持具體的功能。

/* Enable the PL to be downloaded */

#define CONFIG_FPGA

#define CONFIG_FPGA_XILINX

#define CONFIG_FPGA_ZYNQPL

#define CONFIG_CMD_FPGA

#define CONFIG_FPGA_LOADFS

在OSL 2014.2 U-BOOT中,具體的功能是在zynqpl.c的zynq_load()中實(shí)現(xiàn)的。

3. 在Linux下燒寫PL Image

OSL Linux 2014.2.01中已經(jīng)含有xdevcfg驅(qū)動(dòng)了(之前就有,不過本文是在這個(gè)版本上驗(yàn)證的),直接用以下命令就可以完成PL Image寫入。

cat /.bit.bin > /dev/xdevcfg

Linux驅(qū)動(dòng)的源代碼在xilinx_devcfg.c中。因?yàn)轵?qū)動(dòng)的編號(hào)是通過alloc_chrdev_region()動(dòng)態(tài)分配的,所以不需要手工用mknod命令手動(dòng)建立設(shè)備節(jié)點(diǎn)。

在Linux驅(qū)動(dòng)中,每次往DevCfg中寫入4096字節(jié),直到全部寫完。

4. 在用戶程序中燒寫PL Image

目前沒有現(xiàn)成的源碼來(lái)完成這個(gè)功能,不過可以用mmap()把DevCfg的寄存器映射到用戶程序的虛地址中,然后參考一些現(xiàn)成的軟件代碼來(lái)完成這個(gè)功能:

* FSBL中的pcap.c

* U-BOOT中的zynqpl.c

* Linux中的xilinx_devcfg.c

* Xilinx SDK中的例子。

小結(jié):

DevCfg外設(shè)內(nèi)部有自己的DMA,只需要簡(jiǎn)單的配置PL Image的基地址和長(zhǎng)度到DevCfg寄存器,就可以完成Zynq-7000 PL Image的加載。Xilinx已經(jīng)提供了靈活的解決方案,如果開發(fā)者要把這個(gè)功能集成在自己的應(yīng)用程序中,也有很多的代碼可以參考,并不是很困難的任務(wù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3571

    瀏覽量

    93544
  • Zynq-7000
    +關(guān)注

    關(guān)注

    3

    文章

    144

    瀏覽量

    36781
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Zynq-7000 SoC提供 FPGA 資源

    ArduZynq 和 TE0726-03M ZynqBerry SBC 中的 Zynq Z-7010 SoC 的 FPGA 容量存在顯著差異。雖然所有 Zynq-7000 SoC 都采用雙核 Arm
    發(fā)表于 08-31 14:43

    Zynq-7000設(shè)置數(shù)字是什么意思?

    我正在使用Zynq-7000,選擇欲望頻率,我知道我應(yīng)該使用-g ConfigRate,但這些設(shè)置數(shù)字是什么意思?例如,默認(rèn)數(shù)字是3,這意味著頻率是300KHz?謝謝
    發(fā)表于 08-05 13:14

    Zynq-7000是什么?Zynq-7000能干什么?

    Zynq-7000是什么?Zynq-7000能干什么?有何作用?
    發(fā)表于 06-30 06:22

    Xilinx Zynq-7000特性參數(shù)

    CPUCPU為Xilinx Zynq-7000SOC,兼容XC7Z035/XC7Z045/XC7Z100,平臺(tái)升級(jí)能力強(qiáng),以下為Xilinx Zynq-7000特性參數(shù):電源接口和開關(guān)采用12V3A
    發(fā)表于 12-30 07:55

    Zynq-7000系列特征概述

    Cortex A9的ARM核為核心,還包括片上存儲(chǔ)器、片外存儲(chǔ)器接口(DDR)和一系列的外設(shè)接口。Zynq-7000系列將ARM CPU和外設(shè)集成一個(gè)芯片內(nèi),使得Zynq-7000系列皆具處理器和FPGA雙重特性,特別適用于軟
    發(fā)表于 11-18 05:11 ?1.9w次閱讀
    <b class='flag-5'>Zynq-7000</b>系列特征概述

    賽靈思隆重推出Zynq-7000

    賽靈思隆重推出Zynq-7000
    的頭像 發(fā)表于 06-06 03:45 ?4165次閱讀
    賽靈思隆重推出<b class='flag-5'>Zynq-7000</b>

    Xilinx Zynq-7000 EPP Showcased at Embedded World

    Xilinx Zynq-7000 EPP Showcased at Embedded World
    的頭像 發(fā)表于 06-04 13:46 ?3171次閱讀

    Zynq-7000 Extensible Processing Platform in Action

    Zynq-7000 Extensible Processing Platform in Action
    的頭像 發(fā)表于 05-24 16:47 ?3281次閱讀

    如何使用Zynq-7000 VI進(jìn)行IP仿真驗(yàn)證和調(diào)試

    本視頻將向您講解如何使用Zynq-7000 VIP(驗(yàn)證IP)來(lái)高效地驗(yàn)證基于Zynq-7000處理系統(tǒng)的設(shè)計(jì)。另外,視頻還介紹了如何配置,以及如何使用范例項(xiàng)目進(jìn)行仿真的實(shí)施步驟。
    的頭像 發(fā)表于 11-22 06:48 ?4409次閱讀

    zynq-7000 SoC產(chǎn)品選型指南

    zynq-7000 SoC產(chǎn)品選型指南
    發(fā)表于 12-09 16:15 ?12次下載

    ZYNQ-7000系列MIO、EMIO、AXI_GPIO接口

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口
    發(fā)表于 07-25 17:41 ?2612次閱讀
    <b class='flag-5'>ZYNQ-7000</b>系列MIO、EMIO、AXI_GPIO接口

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口
    發(fā)表于 01-31 06:50 ?12次下載
    <b class='flag-5'>ZYNQ-7000</b>系列MIO/EMIO/AXI_GPIO接口

    Zynq-7000 SoC數(shù)據(jù)手冊(cè)下載

    Zynq-7000 SoC數(shù)據(jù)手冊(cè)下載
    發(fā)表于 05-21 15:22 ?29次下載

    Zynq-7000 SoC的安全啟動(dòng)應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《Zynq-7000 SoC的安全啟動(dòng)應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:46 ?1次下載
    <b class='flag-5'>Zynq-7000</b> SoC的安全啟動(dòng)應(yīng)用說(shuō)明

    Zynq-7000 SoC:嵌入式設(shè)計(jì)教程

    電子發(fā)燒友網(wǎng)站提供《Zynq-7000 SoC:嵌入式設(shè)計(jì)教程.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:20 ?4次下載
    <b class='flag-5'>Zynq-7000</b> SoC:嵌入式設(shè)計(jì)教程