首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八)
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-2-24 23:16
|
只看该作者
zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八)
外设
参考超群天晴的博客
http://www.cnblogs.com/surpassal/
,使用XPS为PS 处理系统 添加额外的IP。从IP Catalog 标签添加GPIO,并与ZedBoard板子上的8个LED灯相连。当系统建立完后,产生bitstream,并对外设进行测试。以后还有一个很重要的自定义用户Ipcore设计,下个实验来做下这个(一开始以简单的led和sw为例)。这个实验就使用呢自带外设IP。
使用的平台是XPS 14.2+SDK 14.2
一 硬件配置
1、启动xps创建工程Create New Project Using BaseSystem Builder
创建工程。因为PS系统和FPGA连接是采用AXI接口,因而选择内部互联类型(Interconnect Type) 为AXI。
选择设计平台为ZynqZC702
到外设配置界面,系统会默认有GPIO_SW和 LEDs_4bits 这两个外设,我们不需要,remove
2、添加AXI GPIO外设
进入主界面
工程建立后,在IPCatalog中,找到GeneralPurpose IO,找到 AXI GPIO,双击添加到系统中。
修改元件实例化名称为axi_LED,这个名称就是将要实例化连接到PS的元件。将长度改为8,其他默认。
Ok后出现
点击ok,
点开BusInterfaces标签,可以看到系统汇总现在有PS(这里是processing_systems7_0) 、添加的外设axi_LDs 和AXI内部互联总线axi_interconnet_1。可以看到对于 axi_interconnet_1来说,PS是AXI主设备,外设是AXI从设备。
在Port标签,将IO_IF中的GPIO_IO设置为External Ports,将Port名称改为LED。LED就是顶层对外的引脚名称,注意这里和参考博客不同。按照参考博客中的不能成功。
3、设定引脚约束
在project标签中,找到system.ucf约束文件,
4、点击Generate BitStream,生成bitstream
5、将硬件配置导入到SDK,启动SDK。这里需要将bitstream和BMM文件同时包括到SDK中。
二、创建软件程序
使用新建工程向导。注意,这里使用工程模板为Memory Tests。
新建工程后,会有几个存储空间测试的文件,我们不需要,删掉。
修改main文件,内容如下
//@超群天晴
http://www.cnblogs.com/surpassal/
#include
#include "xparameters.h"
#include "xil_types.h"
#include "xstatus.h"
#include "xil_testmem.h"
#include "xgpio.h"
#include "platform.h"
void print(char *ptr);
int main()
{
static XGpio LED_Ptr;//定义GPIO指针
int XStatus;//函数返回状态
init_platform();
print("ZedBoard project_7: PS_AXI_LED\n\r");
print("xzy 2013年09月18日18:12:31\n\r");
注意下面一定要改名字哦,以前XPAR_AXI_LDS_DEVICE_ID
XStatus = XGpio_Initialize(&LED_Ptr,XPAR_AXI_LED_DEVICE_ID);
if(XST_SUCCESS != XStatus)
print("GPIO INIT FAILED\n\r");
XGpio_SetDataDirection(&LED_Ptr, 1,0x00);//通道1;设置方向 0 输出 1输入
XGpio_DiscreteWrite(&LED_Ptr, 1,0xaa);
cleanup_platform();
}
在下载软件程序前,需要将bitstream文件烧如FPGA,对FPGA进行配置。在工具栏中Xilinx tools->Program FPGA,也可以使用XPS中的Device Configuration->Download Bitstream等其他配置FPGA的方式。
配置完FPGA后,下载软件程序,可以看到超级终端显示调试信息:
注明:helloworld工程也是可以的,不一定非要是memory test工程。
来源:
xzyfeixiang的专栏
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议