打印
[FPGA]

玩转Zynq连载30——[ex52]基于Zynq PS的GPIO控制

[复制链接]
432|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZynqGPIO概述
         参考文档《玩转Zynq-基础篇:Zynq PS的GPIO外设.pdf》。
1 GPIOPS系统配置
         打开ZYNQ7 Processing System的配置页面Peripheral I/O Pins,可以看到右侧若勾选GPIO MIO选项,在对应的MIO号若点击变绿,则表示该MIO号将被用于GPIO功能。当然了,原则上所有的MIO都可以配置为GPIO,但是实际应用中大家不会这么干,MIO的分配需要从系统角度考虑,兼顾各个外设的需要。如果大多数的MIO都被其它外设占用了,而能用于GPIO的MIO捉襟见肘时也不用当心,可以打开GPIO EMIO,连接PL端的IO作为PS可控的GPIO使用,这个功能下一个例程我们会讲,这里我们重点要来看看GPIO MIO怎么用。
         Zstar板载2个LED,即D29和D30分别连接到了PS的MIO0(PS_LED0)和MIO9(PS_LED1)。
         因此,在这个GPIO控制LED的实例中,我们不能够让任何会用到MIO0和MIO9的PS外设打开(勾选),而必须把MIO0和MIO9保留给GPIO MIO使用。
         完成配置后,重新编译PL工程,确保当前配置产生.bit文件。
2 导出PS硬件配置和新建SDK工程
         参考文档《玩转Zynq-工具篇:导出PS硬件配置和新建SDK工程.pdf》。
         其中新建SDK工程名称为GPIO_MIO_project。
         工程模板(Available Templates)选择空白应用(EmptyApplication)即可。
3 GPIO控制程序
         展开新建工程GPIO_MIO_project,选中文件夹src,单击右键,弹出菜单中选择New -->Source File。
         新建一个名为main.c的Default C source template源文件。
         输入GPIO控制MIO0和MIO9的程序,程序中实现MIO0和MIO9每秒高低交错输出,实现2个LED交错闪烁的功能。
4 板级调试
         在Zstar板子上,设置跳线帽P3为JTAG模式,即PIN2-3短接。
         连接好串口线(USB线连接PC的USB端口和Zstar板的UART接口)和Xilinx下载线(下载器连接PC的USB端口和Zstar板的JTAG插座)。使用5V电源给板子供电。
         接着参考《玩转Zynq-工具篇:SDK在线运行裸跑程序.pdf》将zstar.bit文件和GPIO_MIO_project.elf文件烧录到Zynq中运行起来。
         程序运行起来后,我们就可以看到Zstar板上D4和D5这两颗LED交替的闪烁起来。D4和D5这两颗LED指示灯的位置示意如图所示。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

60

帖子

2

粉丝