EDK工具基本操作DOC.docx

上传人:b****9 文档编号:25725307 上传时间:2023-06-11 格式:DOCX 页数:14 大小:682.31KB
下载 相关 举报
EDK工具基本操作DOC.docx_第1页
第1页 / 共14页
EDK工具基本操作DOC.docx_第2页
第2页 / 共14页
EDK工具基本操作DOC.docx_第3页
第3页 / 共14页
EDK工具基本操作DOC.docx_第4页
第4页 / 共14页
EDK工具基本操作DOC.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

EDK工具基本操作DOC.docx

《EDK工具基本操作DOC.docx》由会员分享,可在线阅读,更多相关《EDK工具基本操作DOC.docx(14页珍藏版)》请在冰豆网上搜索。

EDK工具基本操作DOC.docx

EDK工具基本操作DOC

 

EDK工具基本操作

(仅供内部使用)

 

修订记录

 

EDK工具基本操作

以下实例为一个4bit闪灯计数器。

一、建立一个新工程

1、打开XPS,选择CreateNewProjectUsingBaseSystemBuilder,进入BSB向导界面。

2、在BSB向导界面选择工程路径和总线类型。

在ProjectFile后面选择工程目录,选择PLBSystem,如下图

其中,AXI总线是XILINX在EDK中新增的一种总线类型,只能支持SPARTAN6,VIRTEX6,KINTEX7及VIRTEX7芯片。

PLB总线是旧版本就支持的总线,支持的FPGA芯片也比较全,需要注意的是PLB总线写出的数据高低位是反的。

3、点击OK,进入欢迎界面,选择Iwouldliketocreateanewdesign

4、点击NEXT进入芯片选型界面。

第一项是XILINX的官方开发板,第二项是非官方开发板,最下面一项是选择高复位还是低复位。

本实例选择SPARTAN3A-XC3S1400AN-FFG676-5,低复位。

如下图

5、点击NEXT,选择单核系统。

其中左边是单核系统,右边是双核系统。

6、点击NEXT,填写处理器时钟频率和内存大小。

Referenceclockfrequency是进入FPGA的时钟频率。

Proseccortype选择Microblaze

SystemClockFrequency是软处理器的时钟

LocalMemory是片内存储器容量

7、点击NEXT,进入配置外设界面

点AddDevice添加需要的外设,弹出如下窗口,IOInterfaceType选择GPIO,Device选择LEDS

点击OK,然后在右侧配置外设,在GPIODATAWIDTH栏配置位宽。

8、一路点NEXT直到Finish。

进入XPS界面。

9、IPCatalog窗口。

左侧IPCatalog窗口显示的都是Xilinx已封装好的EDKIPCORE。

也可以在此添加外设,例如要添加一个UART外设(非本实验内容),展开CommunicationLow-Speed,双击XPSUART(Lite),弹出确认窗口点YES。

出现配置窗口,配置完成后点击OK。

就可在中间BUSInterface窗口看见已添加的UART外设。

在BUSName列选择“mb_plb”即可将此外设连接到PLB总线上。

切换到Ports窗口,展开xps_uartlite_0,在(IO_IF)uart_o行ConnectedPort列的下拉框中选择MakePortsExteral。

切换到Addresses窗口,为该外设分配地址及大小。

Project窗口。

ProjectFiles下有.mhs,.ucf,.cmd,.opt,.ut文件。

.mhs文件里面记录了系统硬件信息,其中包括端口信息,时钟频率,复位极性以及系统包括了哪些部分。

.ucf文件是约束文件。

可以通过ProjectOption下的Device重配FPGA芯片类型。

10、在Project窗口打开UCF文件,编写UCF文件。

(若需要添加自己编写的verilog代码,菜单栏→Hardware→CreateorImportPepheral)

依次生成Netlist、生成BitStream,ExportDesign(也可直接点击ExportDesign,系统会自动依次执行)。

出现下图

选择Export&LaunchSDK,弹出

此处需在工程目录下建立文件夹CODE,作为导出目录。

如果不是第一次导出,需要提前清空CODE文件夹。

11、点OK进入SDK开发环境

二、编译工程

1、新建一个BSP用于连接硬件和软件。

File→New→XilinxBoardSupportPakage,选择如下图,点Finish

2、新建一个C工程,File→New→XilinxCproject,工程模板选择helloworld

3、点NEXT,选择上一步建的BSP,

4、展开左侧hello_world_0→scr。

打开helloworld.c进行C程序编写。

#include"xparameters.h"

#include"xgpio.h"

#include"xgpio_l.h"

#include"xutil.h"

intmain(void)

{

XGpioLEDS;

inti,j;

XGpio_Initialize(&LEDS,XPAR_LEDS_DEVICE_ID);

XGpio_SetDataDirection(&LEDS,1,0x0);

while

(1)

{

XGpio_DiscreteWrite(&LEDS,1,j);

for(i=0;i<999999;i++);

j++;

}

}

程序中XGpio_开头的函数都是XILINX的关于GPIO使用的API函数。

具体的使用方法可以查看XILINX关于设备驱动的文档。

具体查看方法如下:

在SDK中选择system.mss文件。

点击peripheralDrivers中GPIO后面的Documentation。

点击后会在网页浏览器中打开一个网页类型的说明文档,点files会打开关于GPIO驱动文件列表。

点列表中的xgpio.h便会打开关于GPIO的API的使用说明了。

 

5、编译,菜单栏Project→BiuldAll

6、下载,菜单栏XilinxTools→programFPGA,软件配置选择elf文件。

点Program直到下载完成。

三、调试一个工程

1、在SDK工程中右击左侧的hell_world_0工程,选择DEBUGAS,再先LaunchonHardware

2、可以点击以下按钮,使CPU程序运行,暂停,停止。

3、可在XMDConsole窗口中为某个地址写入自己想要的值(需要先暂停CPU)。

如果修改过代码需要先切入C工程重新按照步骤1进入DEBUG。

主要命令格式

写寄存器:

mwr地址数据

读寄存器:

mrd地址长度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

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

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