1、EDK工具基本操作DOCEDK工具基本操作(仅供内部使用)修订记录EDK工具基本操作以下实例为 一个4bit闪灯计数器。一、建立一个新工程1、打开XPS,选择Create New Project Using Base System Builder,进入BSB向导界面。2、在BSB向导界面选择工程路径和总线类型。在Project File后面选择工程目录,选择PLB System,如下图其中,AXI总线是XILINX在EDK中新增的一种总线类型,只能支持SPARTAN6,VIRTEX6,KINTEX7及VIRTEX7芯片。PLB总线是旧版本就支持的总线,支持的FPGA芯片也比较全,需要注意的是P
2、LB总线写出的数据高低位是反的。3、点击OK,进入欢迎界面,选择 I would like to create a new design4、点击NEXT进入芯片选型界面。第一项是XILINX的官方开发板,第二项是非官方开发板,最下面一项是选择高复位还是低复位。本实例选择SPARTAN3A-XC3S1400AN-FFG676-5,低复位。如下图5、点击NEXT,选择单核系统。其中左边是单核系统,右边是双核系统。6、点击NEXT,填写处理器时钟频率和内存大小。Reference clock frequency是进入FPGA的时钟频率。Proseccor type 选择MicroblazeSyste
3、m Clock Frequency是软处理器的时钟Local Memory是片内存储器容量7、点击NEXT,进入配置外设界面 点Add Device添加需要的外设,弹出如下窗口,IO Interface Type选择GPIO,Device选择LEDS点击OK,然后在右侧配置外设,在GPIO DATA WIDTH 栏配置位宽。8、一路点NEXT直到Finish。进入XPS界面。9、 IP Catalog窗口。左侧IP Catalog窗口显示的都是Xilinx已封装好的EDK IP CORE。也可以在此添加外设,例如要添加一个UART外设(非本实验内容),展开Communication Low-S
4、peed,双击XPS UART(Lite),弹出确认窗口点YES。出现配置窗口,配置完成后点击OK。就可在中间BUS Interface窗口看见已添加的UART外设。在BUS Name列选择“mb_plb”即可将此外设连接到PLB总线上。切换到Ports窗口,展开xps_uartlite_0,在(IO_IF)uart_o行Connected Port列的下拉框中选择Make Ports Exteral。切换到Addresses窗口,为该外设分配地址及大小。Project窗口。 Project Files下有.mhs , .ucf , .cmd , .opt , .ut文件。 .mhs文件里面记
5、录了系统硬件信息,其中包括端口信息,时钟频率,复位极性以及系统包括了哪些部分。 .ucf文件是约束文件。 可以通过Project Option下的Device重配FPGA芯片类型。10、在Project窗口打开UCF文件,编写UCF文件。(若需要添加自己编写的verilog代码,菜单栏HardwareCreate or Import Pepheral)依次生成Netlist 、生成BitStream,Export Design(也可直接点击Export Design,系统会自动依次执行)。出现下图选择Export & Launch SDK,弹出此处需在工程目录下建立文件夹CODE,作为导出目录
6、。如果不是第一次导出,需要提前清空CODE文件夹。11、点OK进入SDK开发环境二、编译工程1、 新建一个BSP用于连接硬件和软件。FileNewXilinx Board Support Pakage,选择如下图,点Finish2、 新建一个C工程,FileNewXilinx C project,工程模板选择hello world3、 点NEXT,选择上一步建的BSP,4、 展开左侧hello_world_0scr。打开helloworld.c进行C程序编写。#include xparameters.h#include xgpio.h#include xgpio_l.h#include xut
7、il.hint main (void) XGpio LEDS; int i,j; XGpio_Initialize(&LEDS, XPAR_LEDS_DEVICE_ID); XGpio_SetDataDirection(&LEDS, 1, 0x0); while (1) XGpio_DiscreteWrite(&LEDS, 1, j); for (i=0; i999999; i+); j+; 程序中XGpio_开头的函数都是XILINX的关于GPIO使用的API函数。具体的使用方法可以查看XILINX关于设备驱动的文档。具体查看方法如下:在SDK中选择system.mss文件。点击periph
8、eral Drivers中 GPIO后面的Documentation。点击后会在网页浏览器中打开一个网页类型的说明文档,点files会打开关于GPIO驱动文件列表。点列表中的xgpio.h便会打开关于GPIO的API的使用说明了。5、 编译,菜单栏ProjectBiuld All6、 下载,菜单栏Xilinx Toolsprogram FPGA,软件配置选择elf文件。点Program直到下载完成。三、调试一个工程1、 在SDK工程中右击左侧的hell_world_0工程,选择DEBUG AS,再先Launch on Hardware2、 可以点击以下按钮,使CPU程序运行,暂停,停止。3、 可在XMD Console窗口中为某个地址写入自己想要的值(需要先暂停CPU)。如果修改过代码需要先切入C工程重新按照步骤1进入DEBUG。主要命令格式 写寄存器:mwr 地址 数据 读寄存器:mrd 地址 长度
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1