whilebreak

GPIOTest XILINX EDK 第三课(精灵3开发板ISE14.7)

0
阅读(2388)

本教程官方论坛:www.osrc.cn 官方淘宝店铺:http://osrc.taobao.com 

GPIOTest XILINX EDK 第三课(精灵3开发板ISE14.7)

本教程是基于南京米联电子科技有限公司 精灵3 Spartan6开发板进行,软件采用ISE14.7。本系列教程就是带领大家学习XILINX EDK开发板工具以及SDK下的编程。本教程官方论坛:www.osrc.cn

本实验的目标是学习XILINX SDK开发软件的使用,实现GPIO输入输出的使用,以及对SDK下部分系统文件的一个介绍。

在开始实验前,请确保你的电脑已经安装好ISE14.7,本教程省略最基本的新建工程的具体细节。

本课程中,一些步骤会做一在第二课中重复出现的步骤将简略带过,不再过多重复。

1、这里承接上一个课时的MemoryTest来做,把工程拷贝到GPIOTest文件夹

2、启动工程->启动XPS添加GPIO外设IP

wps78A3.tmp

3、设置通道1的GPIO宽度为4 对应精灵3开发板4个LED

wps78B3.tmp

4、连接到microblaze_0

wps78B4.tmp

5、修改名字为LED

wps78C5.tmp

6、用同样的办法添加一个BTN按钮的GPIO ip 只是这里设置2个输入

wps78C6.tmp

wps78C7.tmp

7、在Ports游标下,把BTN和LED的IO 连接到外部IO

wps78D8.tmp

8、到Addresses 游标下重新分配地址空间

wps78D9.tmp

9、查看MHS文件,确保命名正确

wps78E9.tmp

10、如果MHS文件命名,不符合编程习惯,可以回到ports中进行修改

11、修改ucf文件添加管脚约束

wps78EA.tmp

12、回到ISE编译并启动SDK软件,这个过程笔者不在重复,不熟悉的读者把前面把第一个课时、第二个课时做熟练。

13、如图修改路径,之后单击OK启动SDK工具

wps78FB.tmp

4、启动完成SDK工具后,新建一个GPIO_Test工程

wps790B.tmp

5、新建一个空的工程

wps791C.tmp

6、新建完成的工程

wps791D.tmp

7、右击->New->Source file新建一个main.c的C文件,

wps792E.tmp

8、主要函数介绍

右击函数名称可以查看函数原形,

XGpio_Out32(,)

#define XGpio_Out32 Xil_Out32

#define Xil_Out32(Addr, Value) \

(*(volatile u32 *)((Addr)) = (Value))

可以看到,最终是对GPIO的地址进行操作,同理

XGpio_In32(,)

#define XGpio_In32  Xil_In32

#define Xil_In32(Addr)  (*(volatile u32 *)(Addr))

9、准备好开发板,插上下载器,记住USB线要插上,并且通电,由于拍摄时间问题,本没有插上。

wps794E.tmp

10、调试方法不在重复

实验效果LED 实现流水灯

当按下按钮3 串口打印出 button3 down

当按下按钮4 串口打印出 button4 down