Zynq的GPIO概述 参考文档《玩转Zynq-基础篇:Zynq PS的GPIO外设.pdf》。 1 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)选择空白应用(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指示灯的位置示意如图所示。
|