前言:
参考官网demo路径:在你Vitis安装路径下面能直接找到官网demo源码。
....../Xilinx/Vitis/2021.1/data/embeddedsw/XilinxProcessorIPLib/drivers/gpio_v3_9/examples
但是要注意外设驱动的版本号。如工程生成导入的gpio驱动版本是v3_9,即使文件夹有最新的v4_7的版本,但是不能使用,因为版本不对应。
题外:虽然可以在Vitis的Platform工程中的Platform.spr导入外设demo进来,但是有时候Platform.spr显示的demo不全,故自己找到对应的demo文件夹是最好。
1、硬件
芯片型号:Zynq UltraScale+ XCZU4EV-SFVC784-1-I
由硬件原理图得知:KEY接在MIO26,按键按下是电平;LED接在MIO40。
2、软件环境
Ubuntu20.04 + Vitis2021.1 + Vivado2021.1
3、Vivado配置
KEY所在引脚是MIO26,LED的所在的引脚是MOI40 ,那么在GPIO外设这项选中GPIO1 MIO该项,该项意思是选中MIO26~MIO51这个范围。下拉还能设置其他的功能,如速度,上下拉,输出输入等。
4、Vitis编程
实现目标:中断检测按键所在MIO26的电平变化,当电平变化是下降沿的时候触发中断处理函数。在中断处理函数中控制LED的当前输出状态的反电平,从而实现控制LED亮灭。