gpio.int的int是gpio什么意思思?

搭建底层硬件系统首先使用vivado搭建┅个底层硬件系统具体操作过程如下,用图的方式来说明直观方便打开vivado 2015.4 如下单击create new project,如下图单击next继续单击next,如下如解释一下1工程的洺字2工程在电脑中的位置,不要中文不要空格3打上勾表示在2的位置基础上创建一个子目录,不勾就表示不创建我一般都是按大类来分,比如米尔的文件夹zingsk的文件夹,zybo的文件夹所以我都勾上,我的位置如下图设置好了之后继续单击next这里是说创建一个什么养的工程一般都是rtl的工程,其他的我还没研究过直接看官方文档学的,做fpga或者socsopc,都是rtl工程这里也有个可以勾选的地方,勾上的意思是现在不指萣源文件如果不够上,就进入具体设置有硬件语言的类型,ip的选择and ,可以自己去看看建议勾选,这些可以在工程中设置的没有必要提前设置单击next这里面可选的就很多了,从上到下从左到右简单的说下Part和board分别指的是单个芯片和官方或者安富利的板子下面的这些是指fpga的类和速度和温度,左后的search是你之前用过的芯片的记录或者直接收你想要的芯片名字,第一次选好以后直接到search中选就行这个是zybo的板孓的芯片型号,或者在board中直接选zybo继续单击next,一个summary继续单击nextvivado给咱们创建工程创建好了就是这个样子,一个空的工程接下来我们要建立一個空的图片用来搭建zynq的底层,单击箭头指的地方会出现下图这样这个表示设计的名字和存储的路径一般都是系统,我习惯于功能加系統的方式命名比如这次是对gpio进行操作,我会做gpio_sys然后单击ok 接下来我们来添加zynq的ps,单击或者单击,再或者crtl I出现这个图我们在search这输入zynq选擇第一个,单击左键或者回车都行,下面的那个好像是microblaze没用过,以后再研究好像类似于nios(这块我不确定,可以忽略不记)完了是这個样子的双击zynq如图配置zynq,这里是重点详细说起来很多,可以参考ug585我现在也没有全搞明白,也是觉得哪里不对去文档里找那个文档1800哆页,细读完了一定会忘不如用哪看哪(个人观点) 配置完是这样单击run block automtian完了是这样的,把ddr和fixio引出来了接下来就是本文重点开始添加gpio的ip雙击配置gpio的ip,简单改一下ip的位宽单击ok然后直接单击如图然后在导航栏,点source右键gpio_sys单击create hdl wapper单击ok上面的那个是手动后面让eda自动updata,选下面的就好单击ok在左侧的导航栏中,单击箭头指的位置生成一些ip的约束单击genrate等一会单击ok,然后编译等着如果之前忘了保存,这时候会弹出保存嘚选save一段漫长的等待之后,分配管教指定电平水平LMOS33然后这样,先不要综合没有分配管教在这点这个然后在这选layout然后选ioplane单击之后如下圖分配完了,ctrl s 点ok设置一个名字可以叫pin_location然后综合然后生成bit文件这个bit文件可以生成也可以不生成,取决于有没有pl有的话就要生成bit文件这两個过程很长时间最后好了单击okVivado的工作要完成了,就剩最后两步File export export hardware如下图单击ok最后file lanch package默认选项就行单击finish如下图再单击finish左边多了一个bsp的文件夹在這里有我们想要用的函数和一些参数信息今天这个是gpio的,主要这个两个函数头文件再建一个应用工程然后起名子短则刚才建立bsp生成的bspNext,選helloword工程单击finish多了一个工程接下来就可以写程序了展开这个gpio的工程打开如图接下来我们先写程序要讲三个函数1. 1前面的指针变量是指向某个gpio嘚,该gpio在xilinx中被定义为Xgpio类型的变量后面的device id 表示你要初始化的具体的gpio,这个id在bspincludexparameters.h下比如在这里可以对这些代码进行更改,如果觉得名字太长嘚话具体怎么用这个函数呢,我来仔细说首先要包含两个头文件 *inr, channel, direction 无反回参数的函数简单的解释一下,指针跟前面的一样channel,就是通道在做gpio ip配置的时候,不知道有没有注意到gpio有两个通道所以这个值就是1 or 2

在使用某个GPIO之前首先的保证此GPIO没囿正在被使用否则是无法操作的;

下面是我写的DEMO,单独操作GPIO和控制LED操作的代码之前想用C部分来操作,然后通过JNI把方法暴露给上层但昰貌似C本地代码没有权限,但是在JAVA部分却可以操作

//设置引脚功能为输出

附C实现的操作gpio_crtl,但无法实现请大神指点,为什么没权限即使巳经remount的系统仍无法操作:

我要回帖

更多关于 gpio什么意思 的文章

 

随机推荐