zynq

zynq--7z035 官方zynq开发板实现PL按键通过EMIO扩展到PS控制PL的LED

白昼怎懂夜的黑 提交于 2020-01-22 11:14:53
1、目标 本人参考的是正点原子的教学视频 https://www.bilibili.com/video/av78603756?p=13 zynq中FPGA与ARM的接口是EMIO,EMIO的主要的功能是PS通过PL扩展接口,控制PL上连上的设备。 2、实现过程 2.1添加工程 2.2 修改IO端口 为GPIO端口,并且添加EMIO端口 打开EMIO端口,配置成8个位端口: 2.3 对PL的端口进行链接 2.4 根据开发板芯片的手册 2.5 生成bit 到处硬件配置信息,然后启动sdk。 新建一个空的工程的项目。建立一个C语言的项目,加入如下main函数 /* * main.c * * Created on: 2020年1月21日 * Author: Scottar */ #include "stdio.h" #include "xparameters.h" #include "xgpiops.h" #define GPIO_DEVICE_ID XPAR_XGPIOPS_0_DEVICE_ID XGpioPs_Config *ConfigPtr; //结构体 共有两个参数,一个参数是id 一个是器件的及地址 XGpioPs Gpio; /* The driver instance for GPIO Device. */ #define EMIO_LED0 57 #define

玩转Zynq连载36——[ex55] 基于VIO在线板级调试的AXI GP总线读写实例

…衆ロ難τιáo~ 提交于 2020-01-22 09:55:47
特权同学玩转Zynq连载36——[ex55] 基于VIO在线板级调试的AXI GP总线读写实例 1 概述 本实例(zstar_ex55)在zstar_ex54的基础上,增加Virtual IO(VIO)实现在线板级调试的功能,意图让大家学会VIO这种基于FPGA的简单实用的在线板级调试手段。 2 PL代码中VIO的配置和例化 PL工程中,需要将作为开关量控制或状态显示的信号连接到VIO IP核的接口中。具体可以参考文档《玩转Zynq-工具篇:基于Vivado的Virtual IO在线板级调试.pdf》。 3 嵌入式软件修改 参考文档《玩转Zynq-工具篇:导出PS硬件配置和新建SDK工程.pdf》导出PS硬件工程,并打开EDK新建一个HelloWorld的模板工程。 修改HelloWorld工程中的HelloWorld.c源码如下。每隔1s递增变量second,同时将该数据写入到地址0x43c00008寄存器中(即PL中的reg_second寄存器),同时每隔5s读取一次0x43c0000c地址的数据值(即PL中的reg_rdtest寄存器),并且打印读出的数据。 4 板级调试 在Zstar板子上,设置跳线帽P3为JTAG模式,即PIN2-3短接。 连接好串口线(USB线连接PC的USB端口和Zstar板的UART接口)和Xilinx下载线

玩转Zynq连载32——SDK在线运行裸跑程序

时间秒杀一切 提交于 2020-01-16 10:05:29
特权同学玩转Zynq连载32——SDK在线运行裸跑程序 1 SDK在线运行裸跑程序 以zstar_ex50为例,演示如何将裸跑程序在Zstar板上在线运行起来。 点击SDK的菜单Run --> Run Configurations。 在弹出的Run Configurations界面中,自动进入Xilinx C/C++ application (System Debugger) --> System Debugger on local Heloworld.elf配置页面。在首先出现的Target Setup页面中,要设置Bitstream file为PL产生的bit文件(… \zstar_ex50\zstar.runs\impl_1\zstar_zynq_ps_wrapper.bit)。要勾选Program FPGA,其它选项使用默认设置。 Application页面中,可以设置运行的软件为Debug/Helloworld.elf,点击Run运行当前工程到Zynq芯片中。 随后,可以看到弹出Progress Information的页面,进度条一路向右直到满格完成FPGA的下载。 来源: CSDN 作者: ove学习使我快乐 链接: https://blog.csdn.net/qq_45922361/article/details/103999304

ZYNQ 动态更新bit流 ZynqMP PL Programming

隐身守侯 提交于 2020-01-16 03:39:06
项目最后的几个事宜,本以为很简单,结果深坑不浅。公司为某部分设计的XX板,设计128MB QSPI Flash,无SD卡。先需要在内核启动后动态加载bit流,使用脚本完成。参考Xilinx官方的方案,应该比较简单,但实际上差点坑出翔。 本文内容简介,没时间写的太详细!!! 1 配置步骤 1.1 Kernel Configuration The following config options has to be enabled in order to use FPGA Manager, Please note that these options are enabled by default through xilinx_zynqmp_defconfig except for the fpga debugfs option. If user wants to test readback feature they have enable it. Zynq UltraScale+ MPSoC FPGA Manager Configuration: Select: Device Drivers → FPGA Configuration Framework → Xilinx Zynq UltraScale+ MPSoC FPGA In-order to test readback

SysFs interface. I can't export gpio pins in a Xilinx's Board (Zybo and other)

老子叫甜甜 提交于 2020-01-14 02:30:26
问题 Using a linux-kernel compiled as it is described here, I'm trying to make a led blinking following this wiki: Linux GPIO Driver. I'm working with a Zybo-board of Xilinx. I enabled the kernel options: CONFIG_GPIO_SYSFS=y CONFIG_SYSFS=y CONFIG_GPIO_XILINX=y I checked that I have mounted in /sys the SysFs I want to configure the pin 7 of the MIO port because it is attached to the led LD4 in the board. So I used this expression: echo 7 > /sys/class/gpio/export And I always obtain this error:

玩转ebit EBAZ4205 zynq矿机控制卡

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-10 23:31:01
参考 基于Z7010的EBAZ4205矿板改造 zynq[1] 矿板helloworld 介绍 Column 1 Column 2 主控 XC7Z010CLG400-1 内存 256MB DDR3 EM6GD16EWKG/MT41K128M16 nand 128MB SLC Winbond W29N01HV 以太网 百兆网Phy芯片IP101GA 供电 12V,主板电源,兼容5V 其他 1路串口PS UART1,2路PWM,14针标准jtag支持Xilinx下载器,3个20pin IO口 部署 更改zynq配置管脚至SD卡启动,设置环境变量,加载bitstream,使用EMIO百兆网, zynq-uboot > setenv Gem.e000b000_phyaddr 0 zynq-uboot > setenv serverip 192.168.6.6 zynq-uboot > setenv fpga_img ebit_wrapper.bit zynq-uboot > env save zynq-uboot > reset zynq-uboot > mmc info && fatload mmc 0 $netstart /ebit_wrapper.bit && fpga loadb 0 ${netstart} ${fpgasize} 更新boot固件,使用SD卡下载boot固件

Zynq

本秂侑毒 提交于 2020-01-10 18:22:52
Zynq的学习(一)基本架构 一,简介部分 Zynq是由两个主要部分组成的: 一个是由双核 ARM CortexA9 构成的处理系统 (PS),另一个是等价于一片 FPGA 的可编程逻辑 (PL)。它还具有集成的存储器、各种外设和高速通信接口。这个架构实现了工业标准的 AXI 接口,在芯片的两个部分之间实现了高带宽、低延迟的连接。 PL 部分用来实现高速逻辑、算术和数据流子系统是很理想的,而 PS 支持软件程序或操作系统,具有固定的架构,承载了处理器和系统存储区。 这就意味着任何被设计的系统的整个功能可以恰当地在硬件和软件之间做出划分。PL 和 PS 之间的链接采用了工业标准的高级可扩展接口(Advanced eXtensible Interface,AXI)连接方式。这两部分可以单独使用,也可以合起来用,而且实际上供电电路被设计成独立给每个部分供电,这样 PS 或 PL 部分不被使用的话就可以被断电。 二,处理器系统部分(PS) 作为处理器系统的基础,所有的芯片都包含了一颗双核 ARM Cortex-A9 处理器。 这是一颗 “ 硬 ” 处理器 —— 它是芯片上专用而且优化过的硅片元件。Xilinx 的MicroBlaze这样的“软” 处理器,是由可编程逻辑部分的单元组合而成的。也就是说,一个软处理器的实现和部署在 FPGA 的逻辑结构里的任何其他 IP 核是等价的。一般来说

mmap EINVAL error on UIO device

穿精又带淫゛_ 提交于 2020-01-03 04:24:26
问题 I have trouble mapping physical memory on Xilinx Zynq after attempting to use UIO instead of mapping directly /dev/mem . While the plan is to run the application as a normal user instead of root this is still being run as root . Apparently the first mapping is successful while the rest done to the same file descriptor 12 ( /dev/uio/ps2pl ) fail. While the obvious difference is the offset, it is within the range (see device tree) and it is properly page aligned. This application was working

ZYNQ随笔——简述

a 夏天 提交于 2019-12-30 23:44:17
1. 硬核处理器与软核处理器 在芯片内的硅片上通过划分一定的区域来实现处理器功能称为硬核处理器。 在一些对处理器性能要求不高的场合,通过使用FPGA内部资源搭建一个处理器功能称为软核处理器。 如果采用硬核处理器,整个芯片的成本会较高,且灵活性相对较差,但性能较高。如果采用软核处理器,成本较低,同时灵活性较高,但性能较低。 2. Zynq-7000 SOC功能结构 Zynq-7000由PS(Processing System)和PL(Programmable Logic)组成,内部结构图如下图所示。 应用处理器单元APU(Application Processor Unit): 双核A9(ARM V7),允许单个处理器,以及对称或非对称的多处理配置。 存储接口: DDR控制器,支持DDR2/DDR3等存储器。 SMC(Static Memory Controller)静态存储控制器,支持NAND和并行SRAM/NOR存储器读写。 I/O外设: GPIO,PS提供54个GPIO信号,通过复用I/O模块MIO将这些信号连接到外部引脚,也可以通过拓展复用I/O模块EMIO将PS内的GPIO信号连接到PL端, 最多支持192个GPIO信号。 三速以太网控制器,在RGMII II模式时,使用MIO连接到外部PHY,在SGMII模式时,使用PL内部的GTX收发器模块,支持IEEE802

(原创)一步一步学ZedBoard & Zynq(六):在ZedBoard上运行linux并编写linux下的应用程序HelloWorld

 ̄綄美尐妖づ 提交于 2019-12-26 06:25:28
从本小节开始,讲着重介绍Zedboard上的嵌入式linux应用,包括使用SDK设计最简单的linux应用程序、linux交叉编译环境搭建、设备驱动编写等内容。 本小节使用的linux系统是Digilent官方提供的OOB设计,它是Digilent官网给出的一个完整的、Zedboard可运行的linux系统,包含了Zedboard上的几个重要的设备驱动如串口、USB、以太网、OLED、HDMI等。当linux在Zedboard上运行起来后,Zedboard就是一个小型的嵌入式系统,使用SDK及Xilinx ARM Linux工具链(arm-xilinx-linux-gnueabi)编译生成的可执行文件可以在这个系统执行。 本小节介绍的是使用SDK开发应用程序,并非在linux系统下使用arm-xilinx-linux-gnueabi。如果需要在linux系统下开发Zedboard上可执行程序,需要安装用arm-xilinx-linux-gnueabi编译环境。 更多更新请关注我的博客:@超群天晴 http://www.cnblogs.com/surpassal/ 硬件平台: Digilent ZedBoard 开发环境: Windows XP 32 bit 软件: SDK 14.2 一、获取Zedboard可运行的linux