FPGA编程指南: CSU DMA传输

ops/2024/9/22 10:00:10/

1. 将安全流开关配置设置为从DMA源接收,即设置csu.csu_sss_cfg[pcap_sss]为0x5。

2. 配置并设置CSU_DMA以建立通道和传输,具体编程方法可参考CSU DMA编程部分。

   - 通道类型为DMA_SRC。

   - 设置源地址为位流的地址。

   - 设置大小为以字表示的位流大小。

3. 等待CSU DMA操作完成,确保源频道的传输已完成。

4. 清除CSU_DMA中断并确认传输完成,这需要设置csudma.csudma_src_i_sts[done]。

5. 等待PCAP完成,当csu清除pcap_status[pcap_wr_idle]位时表示传输完成。

接着,需要等待PL完成状态以确保位流已正确编程,具体步骤如下:

1. 等待PL完成状态,然后进行其他操作。

2. 配置完成后,复位PCAP接口,通过设置csu.pcap_reset[reset]位。

在CSU DMA编程中,CSU会在执行CSU ROM代码期间使用CSU DMA进行引导映像传输。FSBL(First Stage Boot Loader)也会使用CSU DMA进行PL编程(通过PCAP)和图像传输。CSU DMA的触发和配置如下:

1. 触发CSU DMA传输,首先需要为DMA源通道写入大小值。在PL编程的情况下,只有源通道;在环回的情况下,需要先配置DMA目标通道,然后配置源通道。

2. 配置源/目的大小:

   - 针对源通道,需要配置csudma.csudma_src_size[size]为源缓冲区的大小。

   - 针对目的通道,需要配置csudma.csudma_dst_size[size]为目的缓冲区的大小。

在等待CSU DMA完成时,可以通过轮询状态寄存器的完成位来验证,具体步骤如下:

1. 轮询源通道,确认csudma.csudma_src_i_sts[done]未设置。

2. 若不是源通道,则确认csudma.csudma_dst_i_sts[done]未设置。

3. 确认DMA已完成后,可以通过清除状态寄存器的相同位来确认。

在搭建SOC系统工程方面,需要创建Vivado系统工程并选择正确的芯片型号。用户应当注意选择适合的型号,例如xczu7ev-ffvc1156-2-i。创建Block Design图形化设计时,需要在IP Integrator中创建System,并添加相应的IP。对于Zynq Ultrascale+ MPSOC IP的设置,需要调整时钟频率、内存类型和接口输出,以确保硬件设置与程序的兼容性,避免在Vitis IDE中出现崩溃和运行问题。正确的配置是确保成功的必要条件。


http://www.ppmy.cn/ops/113571.html

相关文章

ubuntu20.04 GLIBC从2.35降级到2.31

ubuntu20.04默认的GLIBC版本是2.31,因为某些库的依赖问题,脑子一抽把GLIBC升级到2.35,GLIBC升级参考一下另外一位博主的文章Ubuntu20.04更新GLIBC到2.35版本_glibc-2.35-CSDN博客 但当我想把GLIBC回退到2.31版本,参考网上的办法&a…

速盾:凡科建站开cdn了吗?

凡科建站是一家专业的建站平台,提供了多种功能和工具来帮助用户快速搭建自己的网站。随着互联网技术的不断发展,网站的访问速度和稳定性成为了越来越重要的考虑因素。为了优化用户体验,提高网站的加载速度,凡科建站已经开启了CDN&…

【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释!

【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释! 【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释! 论文地址: https://arxiv.org/abs/1505.04597 代码地址&a…

【Java】网络编程:TCP_IP协议详解(IP协议数据报文及如何解决IPv4不够的状况)

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 &#x1f354…

leetcode 106.从中序与后续遍历序列构造二叉树

思路:其实和根据前序遍历和中序遍历来构造二叉树是一样的思路,我们那道题首先确定的就是根节点,也就是说,根节点的位置是很重要的,我们需要知道根节点的位置在哪。前序遍历的特点就是:中左右;中…

【论文阅读】Face2Diffusion for Fast and Editable Face Personalization

code:mapooon/Face2Diffusion: [CVPR 2024] Face2Diffusion for Fast and Editable Face Personalization https://arxiv.org/abs/2403.05094 (github.com) 论文 介绍 目标:向 T2I 模型不知道的图像中插入特定概念(例如某人的脸&#xff…

无法创建新的堆栈防护界面

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…

基于STM32MP157与OpenCV的嵌入式Linux人脸识别系统开发设计流程

一、项目概述 1.1 项目目标和用途 本项目旨在基于嵌入式STM32MP157开发板,搭建一个系统软硬件开发平台,以Linux操作系统为基础,研发一个完整的人脸识别系统。该系统可以用于安防监控、考勤管理等应用场景,实现对人脸的实时检测与…