zynq使用自带外设IP让ARM PS访问FPGA(八)
参考超群天晴的博客 ,使用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文件,内容如下
//@超群天晴
#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工程。
- Xilinx多协议机器视觉摄像机参考设计(12-01)
- 人工智能实现的流派 FPGA vs. ASIC看好谁?(08-27)
- 采用Xilinx Zynq SoC实现眼动追踪技术 让眼睛也可以控制计算机(06-28)
- EyeTech视线跟踪技术如何成为主流?(06-28)
- 基于赛灵思FPGA的端到端广播平台解决方案的实现(10-27)
- 玩转赛灵思Zedboard开发板(3):基于Zynq PL的流水灯(11-05)
- 濡ゅ倹岣挎鍥╀焊閸曨垼鏆ョ€规悶鍎抽埢鑲╂暜閸繂鎮嬮柟瀛樺姇閻撹法鎷嬮鐔告畬缂佸顑呴〃婊呮啑閿燂拷
闁稿繈鍔嶉弻鐔告媴瀹ュ拋鍔呭☉鏃傚Т閻ㄧ姵锛愰幋婊呯懇濞戞挻姘ㄩ悡锛勬嫚閸☆厾绀夐柟缁樺姇瀹曞矂鎯嶉弬鍨岛鐎规悶鍎扮紞鏃堟嚄閽樺顫旈柨娑樿嫰婵亪骞冮妸銉﹀渐闂侇偆鍠愰崹姘舵⒐婢舵瓕绀嬪ù鍏坚缚椤懘鎯冮崟顐ゆ濡増鍨垫导鎰矙鐎n亞鐟�...
- 濞戞搩鍘炬鍥╀焊閸曨垼鏆ョ€规悶鍎抽埢鑲╂暜閸繂鎮嬮柟瀛樺姇閻撹法鎷嬮鐔告畬缂佸顑呴〃婊呮啑閿燂拷
缂侇噣绠栭埀顒婃嫹30濠㈣埖宀稿Λ顒備焊閸曨垼鏆ラ柛鈺冾攰椤斿嫮鎷犻崜褉鏌ら柨娑樺缁楁挾鈧鍩栧璺ㄦ嫚閹惧懐绀夐柛鏂烘櫅椤掔喖宕ㄥΟ鐑樺渐闂侇偆鍠曢幓顏堝礆妫颁胶顏卞☉鎿冧簻閹酣寮介悡搴f濡増鍨垫导鎰矙鐎n亞鐟庨柣銊ュ椤╋箑效閿燂拷...
- Agilent ADS 闁轰焦鐟ラ鐔煎春绾拋鍞查悹鍥у⒔閳诲吋绺藉Δ鍕垫
濞戞挻鎸搁宥夊箳閸綆鍤﹂柨娑樿嫰閸欏繘妫冮姀锝庡敼閻熸瑯鏋僁S闁告艾瀚~鎺楀礉閻旇鍘撮柛婊冭嫰娴兼劗绮欑€n亞瀹夐柣銏╃厜缁遍亶宕濋埡鍌氫憾闁烩偓鍔嶅〒鍫曟儗椤撶姵鐣遍柡鍐ㄧ埣濡法鈧冻缂氱槐鐧咲S...
- HFSS閻庢冻缂氱弧鍕春绾拋鍞查悹鍥у⒔閳诲吋绺藉Δ鍕垫
閻犙冨缁讳焦绋夐幘鎰佸晙闁瑰搫鐗愰鎶芥晬鐏炶棄寮块梻鍫涘灱椤斿骞掗崷娆禨S闁汇劌瀚慨娑㈡嚄閽樺瀚查幖瀛樻⒒閺併倝鏁嶇仦钘夌盎闁告柡鏅滈崑宥夊礂閵娾晜妗ㄧ紒顖濆吹缁椽宕烽弶娆惧妳濞戞梻濮电敮澶愬箵椤″锭SS...
- CST鐎甸偊鍠楃亸婵嗩啅閵夈倗绋婇悗骞垮€曢悡璺ㄦ媼椤撶喐娈岀紒瀣儏椤ㄦ粎鎲楅敓锟�
闁哄瀛╁Σ鎴澝虹€b晛鐦滈悹浣筋嚋缁辨繈宕楅妸鈺傛〃閻犱礁寮跺绶維T闁告艾瀚伴妴宥夊礉閻旇鍘撮柛婊冭嫰娴兼劗绮欑€n亞瀹夐柣銏╃厜缁辨繈宕濋埡鍌氫憾闊浂鍋婇埀顒傚枙閸ゆ粎鈧冻闄勭敮澶愬箵椤″T閻犱焦宕橀鍛婃償閺冨倹鏆�...
- 閻忓繐瀚伴。鍫曞春閾忚鏀ㄩ柛鈺冾攰椤斿嫮鎷犻崜褉鏌�
濞戞挸娲g粭鈧Δ鍌浬戦妶濂哥嵁閸愬弶鍕鹃悹褍鍤栫槐婵囨交濞嗗海鏄傞悹鍥у⒔閳诲吋绋夋潪鎵☉闁革负鍔岄惃鐘筹紣閹寸偛螚闁哄牜鍨堕。顐﹀春閻旀灚浜i悘鐐存礃鐎氱敻鎳樺鍓х闁瑰灚鎸风粭鍛村锤濮橆剛鏉介柣銊ュ缁楁挻绋夊顒傚敤缁绢厸鍋�...
- 鐎甸偊鍠楃亸婵堜焊閸曨垼鏆ユ繛鏉戭儔閸f椽骞欏鍕▕闁糕晝顢婇鍕嫚閸撗€鏌ら柛姘墦濞夛拷
閻犳劦鍘洪幏閬嶅触閸儲鑲犻柡鍥ㄦ綑閻ゅ嫰骞嗛悪鍛缂傚啯鍨甸崹搴ㄥΥ娓氣偓椤e墎鎷崣妯哄磿闁靛棔鑳堕妵姘枖閵忕姵鐝ら柕鍡曟娣囧﹪宕i柨瀣埍闁挎稑鏈崹婊呮啺娴e湱澹夐柡宥夘棑缁ㄥ潡鏌呴敓锟�...