zynq板上PS端给PL端复位

这篇具有很好参考价值的文章主要介绍了zynq板上PS端给PL端复位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近接触zynq板-zcu104,记录一些实验笔记。

LED闪烁

在vivado中新建一个工程,命名为led-test。添加top.v文件。

module top(
        input           clk_p         ,
        input           clk_n          ,
        input           rstn        ,
        output wire     led         
    );
    wire  clock;
    clk_wiz_0 inst_wiz(
        .clk_out1       (clock),
        .reset          (rstn),
        .locked         (),
        .clk_in1_p      (clk_p),
        .clk_in1_n      (clk_n)
    );
    led inst_led(
        .clock          (clock),
        .rstn           (rstn),
        .led            (led)
    );
    design_1_wrapper inst_ps(
        .pl_clk0_0      (),
        .pl_resetn0_0   ()
    );
endmodule

其中,top模块接入zcu104开发板的clk_300_p/n信号,通过clock wizard转换为单端始终clock,接入到led闪烁模块led.v

module led(
        input                   clock,
        input                   rstn,
        output reg              led
    );

    reg [23:0] r_count = 'd0;

    always @(posedge clock) begin
        if(rstn) begin
            r_count <= 'd0;
        end else begin
            r_count <= r_count + 'd1;
        end
    end

    always @ (posedge clock) begin
        if(rstn) begin
            led <= 'd0;
        end else if(r_count == 24'hffffff) begin
            led <= ~led;
        end
    end
endmodule

其中,led模块通过一个24bit的计数器,经过相等间隔厚,让led灯反转。
为工程添加约束文件。
在这个工程中,将design模块注释掉,仅保留led模块和clock wizard,top模块的reset信号接开发板button。
编译综合实现,生成bit文件后,在vivado中烧录到fpga上,观察可得,led等间隔闪烁。

添加zynq部分

点击create block design,在bd中添加zynq模块。
保持zynq的默认设置,点击保存。
右键点击bd,选择create HDL wrapper。并将生成的.v模块,例化到top模块中。
点击generate bitstream
生成bit文件后,选择左上角File->Export->Export Hardware,其中,选择include bitstream
最后,点击Finish,生成***.xsa文件。

vitis生成fsbl

这一步,网络教程都是启动SDK。其实自从vivado2019.02后,SDK部分已经更新为一个新软件vitis。
打开vitis,选择application project
在选项中,选择之前生成的***.xsa文件,作为硬件平台。选择zynq fsbl作为工程模板。
找到xfsbl_debug.h文件,添加一个宏定义。

#define FSBL_DEBUG_INFO

完成后,选择Ctrl+B进行编译。生成fsbl.elf文件。

生成BOOT.bin

在选项Xilinx->create boot image
在下方选项中按顺序添加文件

  • (bootloader)fsbl.elf
  • led.bit
    点击生成后,即可生成BOOT.bin。

启动

将sd卡制作启动盘,将BOOT.bin拷贝到BOOT分区。
启动zcu104后,发现led可以闪烁。
完成。文章来源地址https://www.toymoban.com/news/detail-501686.html

到了这里,关于zynq板上PS端给PL端复位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ZYNQ学习笔记(四):PL与PS数据交互——基于BRAM IP 核的(PS端读写+PL端读)控制实验

    说起PS、PL数据交互,常见的有IO方式:MIO EMIO GPIO,还有利用BRAM或FIFO等,在上一篇文章ZYNQ学习笔记(三):PL与PS数据交互—— UART串口+AXI GPIO控制DDS IP核输出实验咱们学会了如何利用AXI GPIO IP核来实现PS(写)与PL(读)的数据交互,那么这篇文章来学习如何使用BRAM~ 本次实验

    2024年02月05日
    浏览(53)
  • FPGA - ZYNQ 基于EMIO的PS和PL交互

    Xilinx ZYNQ 系列的芯片,GPIO分为 MIO 、 EMIO 、 AXI_GPIO 三种方式。 MIO    :固定管脚,属于PS端,也就是ARM端。 EMIO   :通过PL扩展,使用时需要分配 PL ( FPGA ) 管脚,消耗PL端资源。 AXI_GPIO :封装好的IP核,PS通过M_AXI总线可以控制PL的IO接口,使用时,消耗管脚资源和逻辑资源。

    2024年04月26日
    浏览(36)
  • ZYNQ PS与PL通过AXI-LITE连接,在Linux下直接读写PL的物理地址,实现PS与PL的交互

    ZYNQ开发,如果PL与PS的交互方式仅为AXI-Lite总线的话,在Linux下可以通过直接访问PL的寄存器物理地址来实现PS-PL的数据交互。 测试代码的PC开发平台为Ubuntu18.04,QT5。 ZYNQ为7020,并移植了Linux系统和Ubuntu16.04的最小系统。 将PL的程序封装成IP核,通过AXI-LITE与PS连接,对外是18个寄

    2024年04月10日
    浏览(45)
  • ZYNQ通过AXI DMA实现PL发送连续大量数据到PS DDR

    硬件:ZYNQ7100 软件:Vivado 2017.4、Xilinx SDK 2017.4   ZYNQ PL 和 PS 的通信方式有 AXI GPIO、BRAM、DDR等。对于数据量较少、地址不连续、长度规则的情况,BRAM 比较适用。而对于传输速度要求高、数据量大、地址连续的情况,比如 ADC,可以通过 AXI DMA 来完成。 1、硬件设计 1.1 ZYNQ7

    2024年02月04日
    浏览(40)
  • ZYNQ使用AXI DMA(Scatter/Gather)模式进行PL与PS数据交互附源码(ps端移植freertos或者裸机)

    AXI DMA 操作需要先提供一个在内存中驻留的不变空间,用于存储需要进行的DMA操作。形容这“每一次操作”的东西叫做Buffer Descriptor,缩写叫BD,这些BD是连接成链表的形式的,因为BD会动态增加,而预先分配存储BD的空间是恒定的,因此BD被连成一个环(BD Ring),其实就是一个循

    2024年02月09日
    浏览(37)
  • zynq 使用AXI_dma 传输==pl到ps,linux驱动开发,应用层处理DMA数据

    在使用zynq输出处理时,会使用到pl和ps的数据传输,可供使用的方案有多种,由于我们的数据量较大打算,因此使用用以下两种方案处理: 1.使用pl直接写ddr3, 2.使用dma, 本次详细介绍使用axi_dma如何将pl的数据在linux应用层接收数据并处理,以及遇到的问题 fpga工程,我们使用

    2024年02月03日
    浏览(55)
  • [ZCU102嵌入式开发]基于Vitis-AI的yolov5目标检测模型在ZCU102开发板上的部署过程分享

    之前本来想要做基于ZCU106的Vitis-AI开发,但是官方对106缺少相关文档说明,而我需要移植的yolov5模型需要使用Vitis-AI的2.0往后的版本来支持更新的pytorch版本,相对应的也需要更新Vitis等工具的版本,所以在缺少参考资料的情况下我选择找实验室换成了ZCU102开发板先把基本流程走

    2024年01月16日
    浏览(51)
  • Vitis-AI量化编译YOLOv5(Pytorch框架)并部署ZCU104(一)

    文章目录 前言  一、Vitis-AI Pytorch框架量化(vai_q_pytorch)  二、编写量化脚本并进行量化  三、模型编译 总结 许多私信想要源码工程,近期会上传到Github仓库,大家有需要自己拿就就可以。 https://github.com/sususjysjy/Vitis-ai-zcu104-yolov5 --------------------------------------------         虽

    2024年02月02日
    浏览(36)
  • Vitis-AI量化编译YOLOv5(Pytorch框架)并部署ZCU104(二)

    第一章  Vitis-AI量化编译YOLOv5(Pytorch框架)并部署ZCU104(一) 第二章  Vitis-AI量化编译YOLOv5(Pytorch框架)并部署ZCU104(二) 目录 系列文章目录 前言 一、Netron查看网络结构 二、与开发板建立通信 1.设置主机 2.设置开发板 三、C++ API编写 四、编译运行 总结 第一章已经详细介

    2024年02月02日
    浏览(43)
  • STM32最小系统板上所有电路的认识和学习。(晶振电路(电容的作用),复位电路,下载端口,供电电路)

    在STM32最小系统板上,系统电路包括以下内容: 外部晶体振荡电路:用于提供系统时钟。 电源电路:包括5V稳压芯片和3.3V稳压芯片,用于提供芯片和外围器件所需的电压。 复位电路:包括复位电路和手动复位按键,用于确保系统的可靠启动。 调试接口:包括SWD调试接口和

    2023年04月19日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包