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

2019年10月10日 11:30    发布者:rousong1989
玩转Zynq连载30——基于Zynq PS的GPIO控制 更多资料共享腾讯微云链接:https://share.weiyun.com/5s6bA0s百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取码:ld9c 1 Zynq的GPIO概述         参考文档《玩转Zynq-基础篇:Zynq PS的GPIO外设.pdf》。 2 GPIO的PS系统配置         打开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)选择空白应用(Empty Application)即可。 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指示灯的位置示意如图所示。 腾讯微云链接:https://share.weiyun.com/5s6bA0s百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取码:ld9c