Adam Taylor玩转MicroZed系列73:用其他的Zynq.docx
AdamTay1or玩转MicroZed系列73:用其他的ZynqByAdamTay1or在过去一周中,我接到了很多不同人的来信,他们正在使用以Zynq为基础的开发工具。他们非常想知道怎么样去把MicroZed系列博客教程应用到他们所选择的硬件平台上。加上AvnetMiCrOZed有许多其他一些的著名开发工具,这些工具都是基于Zynq版本。以下是一系列著名的Zynq-based开发板,这些开发板展示了ZynqSoC在每个板子上的变化:MicroZed-XC7Z010ZedBoard-XC7Z020ZC702-XC7Z020ZC706-XC7Z045ZYBO-XC7Z010为什么其他一些硬件工具的使用者不想按照网上非常好的Zynq博客教程走呢?事实上,这是很容易做的。让我们回到十二个月前我们这个系列教程的第一篇博客,在这篇博客里面,我们定义了我们要使用的硬件的配置信息。此时此刻,我们可以申明我们所用的板子和工程,如下图所示:任NewProjectDefau1tPartCbooseadeJtX1nxpartOrboardforyourproject.Thtscanbechanged1ater.WterResetA1FitersVendorDpiay(iameBoardReSpeofyPartsJ1BoardsSe*d:QD1SPiayNanWVendorBoardRevPart1/0PrCot“VeraonAvafabI0sMeoZedBoardexc710d*X)-14001.0100ZedBoardZynqEvduabonAndDeve1opmentKitd×c72023dg÷14841.02ZfNQ7ZC702EvatuatxxiBowdXAnX.oom1.0xc720c8÷14841O200ZTNQ-7ZC706EvahjatonBoard11xc7z045f90029001.0362<Qadc选择理想的板子来配置合适的SoC,外围环境和板上外设一一比如,每一个外设应该连接到哪一个M1opins±,连同一些对M1OPinS来说需要的配置信息。最重要的是,这个选择也分配了DDRDRAM的地址位置和配置参数,这个避免我们手动输入信息。下图显示了MiCrOZedDDR的配置信息:但是如果我们想用一个默认缺省bui1t的板子该怎么办?在这种情况下,我们可以导入一个XmI文件,这个文件中定义了我们打算使用的板子的配置信息。这个文件通常是由板子的制造商提供,如果没有的话,需要有一个。<projectVeraion=wI.0,>3<description>Zynqboarddefinitionfi1efortheZYBORev.B.Thisfi1ecanbeinportedintoXPSoriyd9IPIntegratortoconfigurethePS7coretoworkproper1ywiththeZYBO'sDDR3,icroSD,UART,Ethernet,USB-OTO,andotherpnb<Adperiphera1s.<description><ProjinfoPart=,xc7x010c1g400-2"EeviceSixe="xc7z010,Pckage=,a1g400'SPeed="-2"><etPaXA="PCW:MIO:MIO(22:S1EW"va1ue=,fat"><setpara="PCW:MIO:MIO(22):IOTYPE,va1ue,HST1.8V,>Oetparajn="PCW:MIO:MIO(23):S1EWMva1ue"fast"><setpaxan,PCW:MIO:MIO(22):PV11UP,va1ue*disab1ed''>Oetprara-PCW:MIO:MIO(23:PV11MPmv1uBndisab1ed,'>Oetparra-PCW:MIO:MIO(23:IOTYPEmva1ue,HST11.8V,'><aetPaXan1PeW:MIO:MIO42:IOTYPB"va1u-1VCMOS1.8Vr><atparam=',PCW:MIO:MIO(42):S1EW"Va1Ue="fast"><»ezprara=',PCW:MIO:MIO42:PV1AP,va1ues*'di9ab1edM><89Zpra="PCW:MIO:MIO(45):PVXUP,va1ue=Mdi»ab1ed"><99Zpxn=PCW:MIO:MIO(45:IOTYPE"v1u-1VCMOS1.8Vr><a«tp®XAre=MPCW:MIO::MIO(45):S1EW"VaIUe=><etpaxzun=MPCW:MIO::MIO(44):PUIUPmva1uesMdi»ab1edM><setpexani=MPCW:MIO:MIO(43)::IOTYPE,'va1ue='11VCMOS1.8V>导入这些文件之一很简单:在你的开发板或者开发工具中,创建一个指向目标器件的工程。创建一个新的框图(如这个系列的第一篇博客所示),然后从IP核库中添加一个新ZynqIP核。双击框图打开重定制IP核窗口。选择IMPORTXPSSETTINGS选项。指向vendor提供给你的XM1文件。导入文件如下图所示:下图显示了Digi1entZybo板子上zynq的DDR配置:一旦你的硬件成功地定义了,你就可以像我在这个系列日志中所做的一样搭建你的系统。我的日志大部分关注使用外设和模块。在这种情况下,不需要有什么变化。当日志使用外围设备一一比如说1EDS或者按键开关一一你需要适应M1O规范说明和你板子的输出引脚。但是,博客解释了怎样做这些尽管这些博客主要关注的是AVnetMiCrOZCd板子。对任何板子,使用这些博客帖子是非常直接了当的,因为它们所用的原则都是一样的。你可以在玩转MICrOZed系列博客中找到任何之前例子的代码。之前系列的博客列表如下面所示。向那些发邮件问我的朋友们表示致谢!我希望你们在跟着这个系列博客学习ZynqSoC的过程中感到开心。damTay1or玩转MicroZed系列博客:AdamTay1or,SMicroZedChronic1es,Part72:AdamTay1or,sMicroZedChronic1es,Part70:Re1ationshipsandAvoidingMetastabi1ityAdamTay1or,sMicroZedChronic1es,Part70:Introductiontotiminganddefiningac1ockAdamTay1orOverviewsMicroZedChronic1esPart69:AdamTay1or,sMicroZedChronic1esPart68:SoftwareAdamTay1or,sMicroZedChronic1esPart67:AdamTay1or,sMicroZedChronic1esPart66:AdamTay1or,App1icationssMicroZedChronic1esPart65:IIAdamTay1or,sMicroZedChronic1esPart64:App1icationsAdamTay1or,sMicroZedChronic1esPart63:App1icationsAdamTay1or,sMicroZedtheZynqXADCChronic1esPart62:Mu1ti-cyc1eConstraintsConstraintsC1ockConstraints-ZynqSoCConstraintsAXIDMAPart3,theAXIDMAIIAXIDMAProfi1ingZynqProfi1ingZynqDebuggingZynqAnswerstoaquestiononAdamTay1or,sMicroZedChronic1esPart60:TheZynqandthePicoB1azePart5-contro11ingaCCDAdamTay1or,sMicroZedChronic1esPart59:TheZynqandthePicoB1azePart4AdamTay1or,sMicroZedChronic1esPart58:TheZynqandthePicoB1azePart3AdamTay1or,sMicroZedChronic1esPart57:TheZynqandthePicoB1azePartTwoAdamTay1or,PicoB1azesMicroZedChronic1esPart56:TheZynqandtheAdamTay1or,sMicroZedChronic1esPart55:1inuxontheZynqSoCAdamTay1or,ZynqSoCsMicroZedChronic1esPart54:Peta1inuxSDKfortheAdamTay1or,sMicroZedChronic1esPart53:1inuxandSMPAdamTay1or,views1ater.sMicroZedChronic1esPart52:Oneyearand151,OOOAdamTay1or,Big,BigBonusPDF!sMicroZedChronic1esPart51:InterruptsandAMPAdamTay1or,sMicroZedChronic1esPart50:OCM(On-ChipMemory)MPandtheZynqSoCAdamTay1orsMicroZedChronic1esPart49:UsingtheZynqSoCsOn-ChipMemoryforAMPCommunicationsAdamTay1or,sMicroZedChronic1es(AsymmetricMu1tiprocessing)AdamTay1or,sMicroZedChronic1esMu1tiprocessingontheZynqSoCAdamTay1or,sMicroZedChronic1esSoC,sARMCorte-A9CoresPart48:Bare-Meta1AMPPart47:AMP一AsymmetricPart46:UsingbothoftheZynqAdamTay1or,sMicroZeciChronic1esPart44:MicroZedOperatingSystemsFreeRTOSAdamTay1or,sMicroZedChronic1esInterrupts?Part43:XADCA1armsandAdamTay1or,sMicroZedChronic1esOperatingSystemsPart4MicroZedPart42:MicroZedAdamTay1or,sMic