为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

初学edk,在网上查找了一些edk的资料和实验,发现xilinx

2018-04-03 19页 doc 555KB 29阅读

用户头像

is_358746

暂无简介

举报
初学edk,在网上查找了一些edk的资料和实验,发现xilinx初学edk,在网上查找了一些edk的资料和实验,发现xilinx 初学EDK,在网上查找了一些EDK的资料和实验,发现XILINX的EDK大学计划文档和网上其他EDK学习文档大多是基于老版本的EDK软件,我在使用EDK13.3学习的时候发现EDK13.3版本同之前的EDK版本有了较大区别,EDK13.3将硬件平台的建立和软件的编写完全分开了,XPS进行硬件平台的建立,SDK进行软件应用程序的开发。在此记录下我在学习中进行的第一个EDK实验,希望能给使用EDK13.3学习的朋友们一点借鉴。 本文档记录建立一个最简单micob...
初学edk,在网上查找了一些edk的资料和实验,发现xilinx
初学edk,在网上查找了一些edk的资料和实验,发现xilinx 初学EDK,在网上查找了一些EDK的资料和实验,发现XILINX的EDK大学文档和网上其他EDK学习文档大多是基于老版本的EDK软件,我在使用EDK13.3学习的时候发现EDK13.3版本同之前的EDK版本有了较大区别,EDK13.3将硬件平台的建立和软件的编写完全分开了,XPS进行硬件平台的建立,SDK进行软件应用程序的开发。在此记录下我在学习中进行的第一个EDK实验,希望能给使用EDK13.3学习的朋友们一点借鉴。 本文档记录建立一个最简单micoblaze平台的步骤,实现8bit LED灯指示当前8bit DIP拨码状态。 1.打开XPS软件。 2.点击第一个选项Create New Project Using Base System Builder。 3.选择工程路径和总线类型。选择PLB system点OK。 AXI总线是XILINX在EDK中新增的一种总线类型,如果选这种总线的话要保证你的实验板卡上的FPGA芯片是SPARTAN6,VIRTEX6或者KINTEX7,VIRTEX7。 PLB总线是以前低版本EDK中就支持的总线,对FPGA型号支持的也比较全。本实验选择PLB总线。 4.选择I would like to create a new design。点NEXT。 5.选择板卡类型。 如果使用XILINX官方开发板则选择第一项,板卡名称(Board Name)和版本(Board Revision)选择正确即可。如果所用的不是XILINX官方开发板而是自己做的板卡或者其他 板卡则选择第二项。我使用的是自己的板卡,spartan3E器件,型号XC3S250E,PQ208封装,-4等级。 此外还有一项Reset Polarity设置,即复位极性设置,可根据自己板卡复位信号的极性进行选择。 6.选择单处理器还是双处理器。 选择单处理器即可。 7.进行时钟频率设置和片内存储器容量设置。 Reference clock frequency 为板卡上进入FPGA的时钟频率,我使用的晶振为125M。 System clock frequency为microblaze处理器工作的时钟频率,我选择50M,可在 下拉框中选择不同的频率。 Local memory 为片内存储器容量,我选择8KB,可在下拉框中选择不同的容量。 本实验不必进行浮点运算,因此不必勾选enable floating point unit。 8.增加外设。 实验需要添加8bit DIP拨码和8bit LED指示灯,拨码和指示灯都使用GPIO实现。点击Add Device增加系统IO,在IO interface type 中选择GPIO,device中选择DIP_switches,点OK。DIP_switches便在右侧处理器外设中显示了,选择GPIO data width为8。同样步骤添加LEDS外设。添加完成后如图所示。点NEXT进入下一步设置。 9.进行缓存设置(cache configuration)。 选择的处理器结构没有缓存,点NEXT进入下一步设置。 10.进入summary,显示系统信息及文件路径。 点Finish完成硬件设置,点击后弹出如图所示警告窗口,提醒我们在将下载到板 卡之前保证已经对设计顶层模块进行了正确的管脚分配以及FPGA处于正常的JTAG链路中。点OK进入XPS开发环境。 11.进入XPS开发环境进行ucf文件编辑。 XPS界面如图所示。 在project区域双击UCF文件,如下图所示,打开UCF约束文件,进行管脚约束。(注意,有可能双击ucf文件无法打开,这是由于XPS选择的文本编辑器设置导致的,XPS默认使用ISE的文本编辑器,但是如果你的ISE软件里面设置的编辑器不是ISE的文本编辑器而是其他编辑器,而该编辑器的安装路径有空格,那么XPS里面就有可能打不开UCF文件,那就需要将ISE软件里面的文本编辑软件选择设置为ISE文本编辑软件,具体设置为:打开ISE13.3软件,EDIT--->preferences-->ISE general-->editors选择ISE TEXT editor)。 XPS已经为UCF文件生成了模板,我们只要将约束语句前面的的注释符号删除,将板卡上与设计对应的具体管脚写在“LOC=”后面就可以了。添加完UCF约束后如图所示。 此外.mhs文件里面记录了系统硬件信息。可打开看一下。其中包括端口信息,时钟信号频率,复位信号极性以及系统包括哪些部分。 12.点击Generate Netlist生成网表文件。 运行时间可能较长需耐心等待一会儿。 13.点击Generate BitStream生成bit文件。 14.点击Export Design 弹出下图窗口,选择Export&Launch SDK。进入SDK开发环境。(也可省略第12,13步直接Export Design,系统会自动生成网标文件和bit文件) 15.进入SDK前出现选择workspace目录。注意选择的路径不要带有空格。 进入 SDK后如下图所示。 16.新建一个xilinx C 工程。 菜单栏File-->new-->Xilinx C project 如下图所示。 弹出的新建xilinx C工程选项如下图所示,可以将工程名命名为dip_led_test方便理解。工程模板选择empty application。点next进入下一步。 17.进入创建板级支持包设置界面,将工程名命名为dip_led_test_bsp_0.点finish完成设置。 18.编写应用程序文件。 完成上面步骤后SDK开发环境左侧的project explorer里面会出现刚才我们建立的 两个工程。如下图所示。 鼠标选中dip_led_test下面的src文件夹,点鼠标右键,新建c程序源文件。如下图所示。 源文件命名为dip_led_test.c 如下图所示。点finish完成源文件建立。SDK会自动打开新建的源文件,并进行语法检测,因为当前的源程序是空的,因此SDK会报告一个没有main函数的错误,可先不用理会该错误。 将下面的源码添加到源文件中。保存后系统会自动检测是否有语法错误。 #include "xparameters.h" #include "xgpio.h" #include "xgpio_l.h" #include "xutil.h" int main (void) { XGpio DIP_SWITCHES; XGpio LEDS; int i,dip_check; XGpio_Initialize(&DIP_SWITCHES,XPAR_DIP_SWITCHES_DEVICE_ID); XGpio_SetDataDirection(&DIP_SWITCHES, 1, 0xffffffff); XGpio_Initialize(&LEDS, XPAR_LEDS_DEVICE_ID); XGpio_SetDataDirection(&LEDS, 1, 0x0); while (1) { dip_check=XGpio_DiscreteRead(&DIP_SWITCHES, 1); XGpio_DiscreteWrite(&LEDS, 1, dip_check); for (i=0; i<999999; i++); } } 程序中XGpio_开头的函数都是XILINX的关于GPIO使用的API函数。具体的使用方法可以查看XILINX关于设备驱动的文档。具体查看方法如下: 在SDK中选择system.mss文件。点击peripheral Drivers中 GPIO后面的Documentation。如下图所示。 点击后会在网页浏览器中打开一个网页类型的说明文档,点files会打开关于GPIO驱动文件列表,如下图所示。点列表中的xgpio.h便会打开关于GPIO的API的使用说明了。 19(编译工程。 点击快捷按钮或者按键CRTL+B对工程进行编译,如下图所示。 20.下载文件到FPGA中。 编译完成后点击下载快捷键,如下图所示。 点击后会打开硬件配置文件和软件配置文件的选择窗口如下图所示。需要注意更改software configuration下面的文件选择,默认是bootloop,需要点下拉按钮选择elf文件。download.bit文件到FPGA中。 然后点program进行程序下载。在板子上可以测试一下8bitDIP拨码控制8个LED灯的亮灭。 (在此窗口中bitstream是microblaze处理器的配置文件,该bit文件中不包括软件程序。Elf文件为软件配置文件,如果elf文件不选的话,下载后FPGA里面相对于只有一个microblaze而没有应用程序。正确下载一次后在workspace目录下的 EDK_LAB_hw_platform文件夹中会生成一个download.bit的文件,该文件保护了硬件配置和软件配置,可以使用IMPACT软件下载。) 这是我的第一个EDK实验,写出来希望能给想学习EDK的朋友有些帮助,我也是初学EDK文中难免有不足和遗漏之处,各位发现后可以告知我进行修改。
/
本文档为【初学edk,在网上查找了一些edk的资料和实验,发现xilinx】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索