• 2024-04-18ZYNQ的gpio的硬件驱动库知识
    对于ZYNQ的硬件驱动库编程方法,我这边用STM32的标准库函数方法来对应。也就是说在ZYNQ里面有给定的官方的标准驱动库,将原本的寄存器方法给一定程度的封装起来。类似于stm32学习过程中给的库函数版本,将你从寄存器版本中解救出来(虽然会影响运行效率,但是这种普通开发者可忽略不计)像
  • 2024-03-28Xilinx ZYNQ 7000+Vivado2015.2系列(十五)AXI Timer 用户定时器中断控制LED
    前面的中断学习中我们学了按键,GPIO,Timer,是时候把它们整合到一起了。今天我们混合使用PS/PL部分的资源,建立一个比较大的系统。板子:zc702。实现功能如下:1.通过串口打印信息询问你要按SW5还是SW7;2.当正确的按键被按下,定时器启动,关闭ledDS23;3.当定时器溢出后触发中断,开启DS23,
  • 2024-03-28Xilinx ZYNQ 7000+Vivado2015.2系列(十四)按键中断控制LED亮灭
    前面我们介绍了按键中断,其实我们稍作修改就可以用按键控制LED了。做个小实验,两个按键分别控制两个led亮灭。板子:zc702。硬件部分添加zynq核:勾选串口用于打印信息,勾选EMIO,我们控制两个led,所以需要2bitPL到PS的中断勾选上:PL时钟什么的都用不到,我们用的按键不需要时钟,EMIO
  • 2024-03-27Xilinx ZYNQ 7000+Vivado2015.2系列(十)MIO/EMIO再识,MIO的引脚“复用”,EMIO当作PS的接口连接PL
    前面我们介绍过EMIO,但是不详细。MIO是PS的IO接口,这个M代表的是Multiuse,也就是多用途,在下图中我们可以看到54个MIO连接这么多东西,必须得复用,所以当我们开发的时候需要的功能配置上,不需要的去掉,防止IO口被占用。板子用的是zc702。下面我们双击ZYNQ核:我们到MIO的配置里,把其
  • 2024-03-27Xilinx ZYNQ 7000+Vivado2015.2系列(四)之GPIO的三种方式:MIO、EMIO、AXI_GPIO
    前言:ZYNQ7000有三种GPIO:MIO,EMIO,AXI_GPIOMIO是固定管脚的,属于PS,使用时不消耗PL资源;EMIO通过PL扩展,使用时需要分配管脚,使用时消耗PL管脚资源;AXI_GPIO是封装好的IP核,PS通过M_AXI_GPIO接口控制PL部分实现IO,使用时消耗管脚资源和逻辑资源。使用的板子是zc702。1.MIO方式Zynq7000
  • 2024-02-21mpsoc嵌入式vitis开发—EMIO LED实验
    前言vitis版本:Vitis2023.2由于Vitis版本更新,很多API发生变化,学习原子哥的教程时很多代码对于不上,所以自己重新写一遍,并记录下自己踩过的坑,方便以后查看。这里直接给出代码,其他的流程参考原子哥的《2_DFZU2EG_4EVMPSoC之嵌入式Vitis开发指南_V1.0.pdf》代码采用CodeGeeX-AM
  • 2024-02-21mpsoc嵌入式vitis开发—外部中断实验
    前言vitis版本:Vitis2023.2由于Vitis版本更新,很多API发生变化,学习原子哥的教程时很多代码对于不上,所以自己重新写一遍,并记录下自己踩过的坑,方便以后查看。这里直接给出代码,其他的流程参考原子哥的《2_DFZU2EG_4EVMPSoC之嵌入式Vitis开发指南_V1.0.pdf》代码#include"platfor
  • 2023-08-10Zynq7020 SDK 初学篇(3)- PS 端 GPIO Key
    一、开发环境 Zynq7020+Vivado2017.4二、开发背景:会使用Vivado开发工具,不熟悉的可以参考正点原子开发文档三、功能实现,按键控制LED定时闪烁,这里基于上一篇GPIOLED的基础上编写四、实现步骤:1、配置PS端BlockDesignMIO功能,根据配置表编写代码 
  • 2023-08-09Zynq7020 SDK 初学篇(2)- PS 端 GPIO LED
    一、开发环境 Zynq7020+Vivado2017.4二、开发背景:会使用Vivado开发工具,不熟悉的可以参考正点原子开发文档三、功能实现,LED定时闪烁四、实现步骤:1、配置PS端BlockDesignMIO功能,根据配置表编写代码   2、导出到SDK,编写代码,编译运行#inclu
  • 2023-04-18GPIO初始化,及中断代码演示
    1#defineLED2572#defineLED1563#defineKEY2554#defineKEY15456#defineGPIO_DEVICE_IDXPAR_XGPIOPS_0_DEVICE_ID7XGpioPsGpio;89voidGpio_Init(void){10XGpioPs_Config*ConfigPtr;1112
  • 2023-01-05Zynq PS之MIO、EMIO调试
    原理框图本文用于点亮PS MIO52和PL L15接的LED灯。1.1.1 Vivado中添加&配置ZynqUltraScale+MPSocIP1.1.1.1 UART设置(仅用于调试,非必需)1.1.1.2 MIO、EMIO设置EMIO=1
  • 2022-11-29ZYNQ的MIO与EMIO中断设置流程——Vivado2018.3
    MIO与EMIO在各bank的分布根据官方手册可以看到MIO分布在BANK0与BANK1有54个,而EMIO分布在BANK2与BANK3有64个。中断系统的介绍根据官方手册的GIC中断控制器的系统级块
  • 2022-10-30ZYNQ之GPIO驱动
    1#include"xparameters.h"//器件参数信息2#include"xstatus.h"//包含XST_FAILURE和XST_SUCCESS的宏定义3#include"xgpiops.h"//包含PSGPIO的函数