• MIO连接得是PS端模块,UART用来输出调试信息,GPIO连接MIO再连接到PS端LED。zedboard上LED是MIO7
  • 这次实验主要在PS端运行所以zynq核只需要留下DDR和FIXED_IO两个端口,基本和hello world实验类似,两个端口记得make externals生成引脚。
  1. 删去端口操作同helloworld
  2. 配置zynq核时主要是在Peripheral I/O下勾上UART1和GPIO MIO
  • 接下来是常规操作,生成结果,生成顶层文件,导出硬件,打开SDK,未在PL上运行故不需要include bitstream,一路OK
  • 打开SDK新建一个空工程(模板从helloworld改为选择empty),在工程src文件夹下选择新建源文件命名为main.c
  • 在system.hdf可以看见ps7_gpio_0的基地址0xe000a000这和文档里相同。在system.mss下可以看到giops得例程,学习写程序可以从这里开始。
  • 吐槽一下,2018.3版本sdk只有两个例子,主要参考得还是第二个例子。第一个例子有关中断(interrupt),第二个例子名字带个polled根本不知道它想干啥。从简介才知道是想使用API向单独引脚读/写数据。正好我们控制一个灯即向一个灯管脚写0/1来控制,看这篇文章来仿造用法。
  • 如果不想知道怎么写得直接把下面代码复制进main.c直接运行即可,想明白具体原理可以看正点原子视频P9-P11或者直接看博客
#include "stdio.h"
#include "xparameters.h"
#include "xgpiops.h"
#include "sleep.h"XGpioPs_Config * ConfigPtr;
XGpioPs Gpio;#define GPIO_DEVICE_ID     XPAR_XGPIOPS_0_DEVICE_ID
#define MIO7_LED 7int main() {printf("GPIO MIO LED.\n\r");ConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);XGpioPs_CfgInitialize(&Gpio, ConfigPtr,ConfigPtr->BaseAddr);XGpioPs_SetDirectionPin(&Gpio, MIO7_LED, 1);XGpioPs_SetOutputEnablePin(&Gpio, MIO7_LED, 1);while(1) {XGpioPs_WritePin(&Gpio, MIO7_LED, 0x1);usleep(500000);XGpioPs_WritePin(&Gpio, MIO7_LED, 0x0);usleep(500000);}return 0;
}
  • 可以看见zedboard板子上显示屏旁边的LED开始闪烁,并且在sdk软件的串口输出页面可以看见打印的内容

感谢正点原子B站发布的视频【第二期】手把手教你学ZYNQ之嵌入式开发篇

zynq开发系列2:GPIO连接MIO控制LED闪烁相关推荐

  1. zynq开发系列2:GPIO连接MIO控制LED闪烁(SDK端代码编写详解)

    根据文档只需要3步,zynq文档学习之向GPIO引脚写数据 把GPIO方向设置为输出 设置输出使能 写数据到GPIO的输出引脚 参考官方参考教程学习编写代码(system.mss下没有这栏说明gpio ...

  2. STM32开发笔记82: 使用C++语言控制LED闪烁

    单片机型号:STM32L053R8T6 本文介绍应用C++语言控制LED闪烁的方法. 先看电路图,单片机PB12引脚控制LED的亮灭,当PB12引脚给出低电平LED亮,当PB12引脚给出高电平LED灭 ...

  3. petalinux zynq spi_ZYNQ 系列 01 | PL 实现按键控制 LED(1)

    注:本篇文章由[开源骚客:OpenSoc]公众号首发,现转载至头条号. 新的开始,这一篇文章,就算是使用 Vitis 开发 ZYNQ 的第一篇文章吧. 计划把 ZYNQ 开发写成一个系列,所使用的的软 ...

  4. zynq开发系列3:GPIO连接MIO通过按键控制LED灯亮起

    按键和LED由MIO连接,在PS端用按键控制LED,按键按下时发出信号,LED接收到信号后亮起 可以参考上一节实验 zynq开发系列2:GPIO连接MIO控制LED闪烁 的流程和代码,在vivado操 ...

  5. zynq开发系列4:EMIO连接按键控制MIO连接的灯

    EMIO是负责PL端和PS端通信,PL侧按键可以通过连接EMIO来控制连接到MIO的PS侧的LED.原理和实验3 zynq开发系列3:GPIO连接MIO通过按键控制LED灯亮起 类似,只是由MIO侧的 ...

  6. zynq开发系列4:MIO按键中断控制LED

    与实验三类似 zynq开发系列3:GPIO连接MIO通过按键控制LED灯亮起 ,PS部分设置为与实验一helloword相同的最小系统,但按键控制LED的方式设置为中断,即通过按下按键为中断这一方式从 ...

  7. zynq开发系列5:通过AXI GPIO的中断实现PL端按键控制PS端LED(SDK开发详解)

    axi_gpio是PL端gpio(FPGA资源搭建的软核),ps7_gpio是ps端gpio(硬核).打开Documentation的示例Examples,可知第二个是关于中断的示例.导入示例impo ...

  8. ZYNQ开发系列——hw_platform包和BSP包中的一些理解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ开发系列--hw_platform包和BSP包中的一些理解 前言 hw_platform BSP包 前言 前面我们完成了PS输 ...

  9. ZYNQ开发系列——把PS和PL程序烧写到FLASH中

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ开发系列--把PS和PL程序烧写到FLASH中 生成 fsbl.elf 生成 BOOT.bin 下载 BOOT.bin 文件到 ...

最新文章

  1. 解决mysql服务无法启动的问题
  2. 【算法】BitMap
  3. python新建一个文件夹需要重新安装模块吗_解决pycharm每次新建项目都要重新安装一些第三方库的问题...
  4. 感觉又学到了不少,在这里写下来,但也有一个问题,不知道是为甚吗?
  5. 机器学习中的相似性度量(转载)
  6. 量子位首款周边卫衣上线,给你AI的力量
  7. 解密朋友圈红包照片功能
  8. Apache设置用户权限(2个域名。一个能访问全部文件,一个只能访问指定文件)...
  9. Typora如何自动生成标题序号
  10. Laravel框架发送邮件 阿星小栈
  11. div背景 css网格背景_如何为背景图像网格创建运动悬停效果
  12. ictclas linux 64 java 下载,Ubuntu下ICTCLAS JNI的使用
  13. Redis 惰性删除
  14. Sprite Kit 移动精灵
  15. C++ throw()关键词:一个被C++标准抛弃的玩意儿
  16. 裁判文书关键信息提取
  17. 享学课堂Android进阶课程六大服务,包你从小白成长为核心开发,拿到心仪offer
  18. 天下谁人不识君的上一句是什么,天下谁人不识君的意思?全诗赏析
  19. 关于 android 里面的 AndroidX 和 annotation 冲突的解决方式
  20. S5PV210 USB下载程序

热门文章

  1. 小米商城项目解析(完)
  2. Hashmap存储大小
  3. 怎么二值化后找字_邓婕美肤团队:秋季皮肤出现问题后怎么办 找对护肤方法是关键_美肤吧...
  4. lsdyna如何设置set中的node_list_详解MySQL数据库如何实现类似Oracle的序列?
  5. 【深度优先搜索】计蒜客:踏青
  6. phpmyadmin/scripts/setup.php,Linux下phpMyAdmin安装过程中的问题解决
  7. php编写九九乘法表隔行换色,JavaScript实现99乘法表及隔行变色实例代码
  8. 【HDOJ2222】Keywords Search(AC自动机)
  9. 【NOIP2008】【Vijos1493】传纸条
  10. Spring→事务、隔离级别、事务传播行为、编程式事务控制、XML配置声明式事务(原始方式)、XML配置声明式事务(基于tx/aop)、@注解配置声明式事务、优势总结