ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:346.09KB ,
资源ID:9652896      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9652896.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vivado入门教程峰哥版.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vivado入门教程峰哥版.docx

1、vivado入门教程峰哥版Xilinx zynq 7010clg400-1 sopc 基于 zybo 开发板之 gpio 使用Vivado 2015.4SDK 2015.4如峰2016 年 6 月 7 日 20:10:33版本说明版本作者说明Vivado 搭建底层硬件系统 4二、 sdk 使用 2.6 三、总结 3.8 附录程序 3.8 Vivado 搭建底层硬件系统首先使用 vivado 搭建一个底层硬件系统,具体操作过程如下,用图的方式来说明,直观方 便打开 vivado 2015.4 如下单击 create new project ,如下图,单击 next继续单击 next ,如下如,解

2、释一下1:工程的名字2:工程在电脑中的位置,不要中文,不要空格3:打上勾表示在 2 的位置基础上创建一个子目录,不勾就表示不创建,我一般都是按大类来分,比如米尔的文件夹,下图zingsk 的文件夹, zybo 的文件夹,所以我都勾上,我的位置如设置好了之后继续单击 next ,这里是说创建一个什么养的工程一般都是 rtl 的工程, 其他的我还没研究过,直接看官方文档学的,做 fpga 或者 soc,sopc , 都是 rtl 工程。 这里也有个可以勾选的地方,勾上的意思是现在不指定源文件,如果不够上,就进入具体设置, 有硬件语言的类型, ip 的选择, and so on ,可以自己去看看,

3、建议勾选, 这些可以在工程中设置的,没有必要提前设置单击 next这里面可选的就很多了,从上到下,从左到右简单的说下Part 和 board 分别指的是单个芯片和官方或者安富利的板子下面的这些是指 fpga 的类和速度和温度,左后的 search ,是你之前用过的芯片的记录或者 直接收你想要的芯片名字,第一次选好,以后直接到 search 中选就行这个是 zybo 的板子的芯片型号, 或者在 board 中直接选 zybo ,继续单击 next ,一个 summary继续单击 next, vivado 给咱们创建工程创建好了就是这个样子,一个空的工程接下来我们要建立一个空的图片,用来搭建 zy

4、nq 的底层,单击箭头指的地方会出现下图这样这个表示设计的名字和存储的路径,般都是系统,我习惯于功能加系统的方式命名,比如这次是对 gpio 进行操作,我会做 gpio_sys ,然后单击 ok接下来我们来添加 zynq 的 ps,单击 ,或者单击出现这个图,再或者 crtl + I我们在 search 这输入 zynq ,选择第一个,单击左键或者回车,都行,面的那个好像是可以忽略不记)完了是这个样子的双击 zynq如图,配置 zynq ,这里是重点,详细说起来很多,可以参考 ug585 ,我现在也没有全搞明 白,也是觉得哪里不对去文档里找,那个文档 1800 多页,细读完了一定会忘,不如用哪

5、看 哪(个人观点) 配置完是这样单击 run block automtian完了是这样的,把 ddr 和 fix io 引出来了接下来就是本文重点,开始添加 gpio 的 ip双击配置 gpio 的 ip ,简单改一下 ip 的位宽,单击 ok然后直接单击如图然后在导航栏,点 source右键 gpio sys单击 create hdl wapper单击 ok上面的那个是手动,后面让 eda 自动 updata ,选下面的就好,单击 ok在左侧的导航栏中,单击箭头指的位置WddlvAX!P9ll,tnil-oi3 ,pl-4AhP:)0 OfH K?事”硕. :i : Vl UValSJli

6、wd 9gtJVjla* MZ1J 1VdH*IU -w bBui xiiJUG1; UGSA3CJj -El; 5 G JJ JjelJ IAl ZQl -S AL,L1 户jEdu udig-.udi.s 自ikh丄P樽-T jj J :暫玄】B41 Mhri 4 #lWl3WljWUlr jf JFW IfI I WjIi-HH JM .MLJJj LH ap IIkLT TlI * ifHMiflh Il4Bun p-6H a) *TOJisira 1ra2 . 1E+*5 K J.14Ig Cl lrG PJt roj P SJWS UStH FMGS Lt-FaJCcS3r*- +

7、 zjtsJffW UtIll刑耳戸口n p;Jl !-Cl JiIllNJ iJWIil-Opffl ?*1W IWSQJQe E41 tlin;3J597J*JOU- 5Jpp?jjm-s 35atJe X3pj,oaj i-3-iBpdriTaLlCJ91 蜩SJi HmP01Ii rrdl-o Iueme ,Q - KlJeBii: r; LrllEU* IlnQil!t3 护JIn IKVLTUDJ d Sy ILLit*!qpCLd - *3*PTUM) Ilu*aUM4E叫 4 g4ur* uwHP4j6-td3p d J* Q *门曲e电1 Tlft j p jMKR4lJ |

8、hjL”| 旳 Ifr T1; JMJHIpJt-j-; 1 仲卯冲*Ed It 1 IbiDiK-Id1Vi Fc4T9ag PaiTlRVLLI,E-k IBda _.AfeU-IIV F*u轉 Id 曙 *1IW* Illi PIifrTifCr1S WrU uh; U4tns 呼InH3ffi F*訂咖 4Ig i*44 IJf l5s 中枣IH ss U JPU Q HiX社Jt FBia JJ P lt(dt MlIfllHi AIB5J*S FI曙評 eBut,ss 4f l4 警JnlViT 2” WlJI r单击 ok ,然后编译,等着分配管教,指定电平水平LMOS33如果之

9、前忘了保存,这时候会弹出保存的,选段漫长的等待之后,save然后这样,先不要综合,没有分配管教在这点这个然后在这选 layout然后选 ioplane单击之后如下图分配完了, ctrl + s 点 ok设置一个名字可以叫 pin_location 然后综合然后生成 bit 文件这个 bit 文件可以生成,也可以不生成,取决于有没有 pl ,有的话就要生成 bit 文件这两个过程很长时间! !最后好了单击 okVivado 的工作要完成了,就剩最后两步 File export export hardware如下图单击 ok 最后 file lanch sdk , vivado 的工作就完成了sd

10、k 使用Filenewbaord suport package默认选项就行单击 finish如下图,再单击 finish左边多了一个 bsp 的文件夹在这里有我们想要用的函数和一些参数信息今天这个是 gpio 的,主要这个两个函数头文件短则刚才建立 bsp 生成的 bspNext ,选 helloword 工程单击 finish 多了一个工程接下来就可以写程序了 展开这个 gpio 的工程打开如图接下来我们先写程序,要讲三个函数1.gpio 初始化函数2.gpio 数据方向设置函数3.gpio 写数据函数有关 gpio 大概有十二三个函数,在 bsp include xgpio.h 下,在 c

11、rtl+ 左键,进入 xgpio.c 讲的很详细,不过是英语的,如图这是讲初始化函数的我先说这几个参数什么意思,再说怎么用首先 int Xgpio_Initialize(Gpio*inr,u16 DeviceID); 这个函数是有返回值的,返回一个 int 型, 0 和 1其中 0: XST_SUCCESS,1:XTS_DEVICE_NOT_FOUND 写程序的 时候可以直接判 断一个变 量 比 如 if(a = XST_SUCCESS or XTS_DEVICE_NOT_FOUND )或者 if(a=0 or 1)前面的指针变量是指向某个 gpio 的,该 gpio 在 xilinx 中被定

12、义为 Xgpio 类型的变量,后面 的 device id 表示你要初始化的具体的 gpio ,这个 id 在 bsp include xparameters.h 下, 比如在这里可以对这些代码进行更改,如果觉得名字太长的话。具体怎么用这个函数呢,我来仔细说首先要包含两个头文件 xparameters.h 和 xgpio.h 然后声明一个 Xgpio 类型的变量 最后调用 Xgpio_Initialize 函数Ex: #include “xparameters.h ”#include “xgpio.h ”XGpio gpio_led;Xgpio_Initialize(&gpio_led, 0)

13、;成功了,我们一步一步往下来接下来我们来设置数据流方向, 用到的就是 void Xgpio_SetDataDirection(XGpio *inr, channel, direction ) ,无反回参数的函数简单的解释一下,指针跟前面的一样, channel ,就是通道,在做 gpio ip 配置的时候,不知 道有没有注意到 gpio 有两个通道,所以这个值就是 1 or 2 ,分别代表通道 1 和通道 2,最 后就是方向,数据是输入(读) ,还是输出(写) ,这里也是两个值 0:代表输出, 1:代表 输入Ex: #include “xparameters.h ”#include “xgpi

14、o.h ”XGpio gpio_led;void Xgpio_SetDataDirection(&gpio_led,1,0);/ 通道 1,输出接下来我们就来点亮一个灯, 用的是 void XGpio_DiscreteWrite(XGpio * InstancePtr, unsigned Channel, u32 Data) 函数前两个参数和上面的基本相同, u32 data 就是要写的数据,我们给个 000f,全亮#include “xparameters.h ”#include “xgpio.h ”XGpio gpio_led;void Xgpio_SetDataDirection(&gp

15、io_led,1,0x0a);现象为三、总结这样看来, arm 比 51 单片机要简单,我们只需要明白有什么函数,每个函数是干什么的, 就可以进行编程了,这只是个开始,先从 gpio 开始,慢慢深入学习!附录程序#include #include platform.h#include xparameters.h#include xgpio.h/void print(char *str);/ 不注释掉会有一个定义冲突的错误,不知怎么解决? int main()XGpio gpio_led;int status;init_platform();status = XGpio_Initialize(&

16、gpio_led, 0);if(status = 0) printf(success rn);设置通道 1 为输出XGpio_SetDataDirection(&gpio_led,1,0);/XGpio_DiscreteWrite(&gpio_led, 1, 0x0a);print(Hello Worldnr);cleanup_platform();return 0;随便一改就是流水效果#include #include platform.h #include xparameters.h#include xgpio.h/void print(char *str);int main ()XGpi

17、o gpio_led;int status;int i,x,y;init_platform();status = XGpio_Initialize(&gpio_led, 0);if (status = 0)printf (success rn );XGpio_SetDataDirection(&gpio_led,1,0); / 设置通道 1 为输出 while (1)for (i = 0; i=3; i+) XGpio_DiscreteWrite(&gpio_led, 1, 0x01 0; x- )for (y = 100000; y 0; y-) ;print( Hello Worldnr );cleanup_platform();return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1