本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示. 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用.   本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的可重现性. 但是用到的模块或者IP的具体作用和用法不保证都重复详细的介绍.   本文所…
在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应用上.这篇文章主要是思想的介绍,以及AXI4-Lite读的方法.一些细节请先阅读<MiZ702学习笔记7——尝试自制带总线IP>. 具体思路为如下框图所示: 所以这次,我们需要两条AXI4-Lite总线,一条负责给VGA模块提供RGB数据(写),一条读取VGA模块提供的扫描的坐标信息(读). 点击…
https://blog.csdn.net/Fei_Yang_YF/article/details/79676172 什么是PS和PL ZYNQ-7000是Xilinx推出的一款全可编程片上系统(All Programmable SoC),该芯片集成了ARM Cortex A9双核与FPGA,是一款SoPC芯片.可将FPGA当做一个PS处理器的外设,通过寄存器地址映射到PS的寻址空间.在处理器中使用程序访问这些寄存器,来实现软件和逻辑结合的协同设计的效果. PS(Processing Syste…
使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示.涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用. 本文所使用的开发板是zedboardPC 开发环境版本:Vivado 2016.2  Xilinx SDK 2016.2--------------------- 作者:wangd…
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程:   1.新建工程,选择S3C2440A处理器: 2.对工程进行设置 1)设置RAM.ROM地址: RAM1: Start:0x30000000 Size:0x200000 ROM1: Start:0x30200000 Size:0x200000 2)生成Hex文件 3)设置生成.0 .bin .…
分享下PS与PL之间数据传输比较另类的实现方式,实现目标是: 1.传输时数据不能滞留在一端,无论是1个字节还是1K字节都能立即发送: 2.PL端接口为FIFO接口: PS到PL的数据传输流程: PS到PL的数据传输相对简单,使用vivado自带的axi_datamover即可完成,详细如下: A.向PL端查询剩余数据存储长度(以byte为单位): B.通过写寄存器设置PL端DMA数据传输开始地址: C.通过写寄存器设置PL端DMA数据传输长度(以byte为单位): D.通过写寄存器启动PL端DM…
1:安装tftp:#apt-get update#apt-get install tftp-hpa tftpd-hpa xinetd2:#cd /srv#mkdir tftp#chmod 777 tftp3:复制一个led.bin文件进tftphttp://pan.baidu.com/s/1kTS7MGv4:重新启动服务# /etc/init.d/xinetd restart# /etc/init.d/tftpd-hpa restart5:接着启动 GEC210 开发板后,进入 uboot 命令…
上一节说到了DDR寻址的问题,如下图: 从官方文档上我们看到了DDR的地址是从0008_0000开始的,那么我们开始修改Xilinx给我们提供的IP核代码.其实很简单,上一节已经分析了地址停留在0000_1000的原因,现在我们只需要把write_burst_counter的位宽变大就可以了. 从上表看到地址范围由全0到全1,计算一下就知道需要的宽度为27,即 C_NO_BURSTS_REQ = 26; 重新打包IP核,生成比特流.开始调试 由于从0003_0000开始的地址是保留位,理论上来说…
开发板:EB-SAM9G45 这里提供一种裸程序下载的方法. 在官方提供的下载方法中有手动下载和自动下载,它们都离不开SAM-BA软件,而该软件使用比较麻烦,而且操作不当很容易导致电脑蓝屏,还有一个很大的缺点是,每次他都将裸机程序烧写到NANDFLASH当中,容易导致NANDFLASH出现坏块. 一种新的方法: l 安装SAM-BA软件 l 断开JP2跳线,复位开发板. l 点击“开始”->“所有程序”->ATMEL Corporation -> AT91-ISP v1.13 ->…
因为前面的裸机程序非常的简单,就不写博了. 程序的流程: 1,初始化C SP 2,关看门狗 3,初始化SDRAM 4,读出 NAND FLASH 中的 包含图片的程式放到SDRAM里面 5,跳转到SDRAM 执行 因为 2440 自动只读取4K 到 SRAM ,在里面放了图片,自然就不够用了. 就多了一步放到 SDRAM 里面去. 我并没有直接复制教程上面的程式,那个上面比较复杂.用到了c 的 库文件. 教程中只是画线,画圆线很简单. 刚一开始,我是使用 24BPP 开发的,这样遇到的问题还比较…