xps操作.docx
- 文档编号:15510405
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:26
- 大小:33.65KB
xps操作.docx
《xps操作.docx》由会员分享,可在线阅读,更多相关《xps操作.docx(26页珍藏版)》请在冰点文库上搜索。
xps操作
第4节XPS软件的基本操作
BSBXPS
9.4.1XPS的启动
XPS有两种启动方式,一种是直接点击“开始”“程序”“XilinxPlatformStudio9.1i”“XilinxPlatformStudioPACE”即可启动;另一种是在ISE中通过双击EmbeddedProcessor类型的源文件来打开。
前者专门用于设计完备的嵌入式系统,也是本章主要讲述的方式;后者可将嵌入式设计作为ISE设计的一个子模块,在9.5.3节进行介绍。
9.4.2利用BSB创建新工程
在了解了EDK的基本概念以及完成软件安装后,接下来介绍如何利用EDK来开发嵌入式系统。
首先需要利用基本系统创建器(BaseSystemBuilder,BSB)向导来快速创建一个设计,然后再对其进行定制。
BSB是帮助用户快速建立系统的软件工具。
当用户希望创建一个新的系统时,XPS会自动调用BSB。
在BSB中,可以创建工程文件、选择开发版、选择和配置处理器以及I/O设备,添加内部外围设备,生成系统报告等。
BSB向导会自动完成以下工作:
1.生成顶层工程文件(.xmp文件)
Xilinx微处理器工程(XilinxMicroprocessorProject,XMP)文件是所开发嵌入式系统的顶层文件描述。
所有XPS工程信息都在XMP文件中得以保存,此文件包括微处理器硬件规范(MicroprocessorHardwareSpecification,MHS)和微处理器软件规范(MicroprocessorSoftwareSpecification,MSS)文件的存储位置等,有关MHS和MSS文件将在后面内容进行阐述。
XMP文件同时也包括了XPS将进行编译的C源文件和头文件的信息,以及SDK编译的可执行文件的信息。
2.选择/新建电路板
这里包括两个选项:
指定的目标板和用户自己设计的板。
如果选择前者,则BSB允许用户选择板上的外围设备,且其FPGA端口可以自动地匹配板子,同时也创建一个可以下载到板子上运行的完整平台和测试应用;而对于后者,用户可以基于一些已有的处理器核和外围设备核,按照需要添加处理器和外围设备。
3.选择并配置处理器
可以选择的处理器有MicroBlaze和PowerPc。
同时还可以选择:
器件类型,封装,速率等级,参考时钟频率,处理器总线时钟频率等等。
4.选择并配置多个I/O接口
BSB可以决定用户预定义板子上,哪些外部存储和I/O设备是有效的。
并且对于指定的器件还可以选择:
波特率,外围设备类型,数据比特数,校验等。
5.添加内部外围设备
外围设备包括芯片上存储控制器和计时器等。
BSB允许用户添加需要的外围设备。
6.设定软件
可以在BSB中对标准的输入输出器件进行说明,用户还可以选择希望XPS产生的C应用样例。
每个应用程序都包括一个链接脚本。
这里用户所选择的应用样例包括存储测试、外围设备测试或者两者皆有。
7.查看创建的系统
完成以上选择后,BSB将显示已经生成的系统。
用户可以选择:
产生这个工程,或者是返回到前述步骤进行设置的修改。
下面以加载XilinxSpartan_3E_RevD开发板(该开发板的配置文件存放在EDK安装目录下的“board\Xilinx\boards\Xilinx_Spartan3E_RevD\data”文件夹中)为例,详细介绍利用BSB新建工程的全部流程。
例9-1通过BSB向导建立XilinxSpartan_3E_RevD开发板的工程。
1)启动XPS。
当双击XPS的快捷方式后,BSB向导就会自动打开,其界面如图9-24所示。
选中“BaseSystemBuilderWizard(recommended)”选项,并点击“OK”按钮。
图9-24BSB向导的启动画面
2)选择工程路径。
在弹出的提示界面的“ProjectFile”下的输入框中填入工程存放路径,或单击“Brouse”按钮来选择合适的工程路径。
在本例中,选择工程目录为“E:
/work/xilinx/edk”,并将工程命名为spartan3e500e,如图9-25所示。
单击“OK”按钮,在弹出的对话框中选择“Iwouldliketocreateanewdesign”,并单击“Next”按钮。
图9-25工程存放路径选择界面
3)在弹出的板型选择对话框中,在“Selectboard”选中“Iwouldliketocreateasystemofthefollowingdevelopmentboard”,在“Boardvendor”的下拉框中选择Xilinx,在“Boardname”的下拉框中选择Spartan-3Estarterboard,在“Boardrevision”的下拉框中选择D,如图9-26所示。
如果使用用户自定义的开发板,则选择“Iwouldliketocreateasystemforacustomboard”。
单击“Next”。
图9-26开发板选择界面
4)进入处理器选择界面。
对于内部集成了PowerPC内核的FPGA芯片(Virtex-2Pro以上部分型号)可以选择PowerPC或Microblaze,否则只能选择Microblaze。
由于本例选用的是FPGA为Spartan-3E系列,不支持PowerPC,所以只能选择Microblaze软核,如图9-27所示。
点击“Next”按钮。
5)配置处理器。
配置Microblaze的参考时钟、总线处理时钟频率、处理器调试接口以及片上存储空间的大小,都使用默认值,如图9-28所示。
时钟频率和参考时钟和硬件设计保持一致,定为50MHz。
“OnChipH/WDebugChain”就是利用JTAG端口进行处理器的调试。
片上存储器由FPGA芯片中内嵌的块RAM组成,选定大小为8KB。
然后点击“Next”按钮。
MicroBlaze和PowerPC的工作时钟都是系统时钟经过DCM模块倍频后得到的,在一般情况下,建议MicroBlaze的时钟不超过100MHz,PowerPC的时钟不超过250MHz。
图9-27处理器参数配置界面 图9-28处理器选择界面
6)添加I/O接口。
开发板配置文件选择了RS_232_DCE、RS_232_DTE、LED_8bits、DIP_Switches_4bits、Buttons_4bits、Flash_16M*8、DDR_SDRAM_32M*16以及Ethernet_MAC等I/O接口,如图9-29~9-31所示。
各个I/O接口将在后文详细介绍。
如果是用户自定义电路板,操作界面如图9-30所示,用户点击右上角的“AddDevice”按钮,然后在弹出的对话框的“IOInterfaceType”的下拉框中选择所需的I/O接口模块,再点击“OK”按钮,该过程每次只能添加一种I/O接口,如有多个需要反复操作
图9-29可配置IO端口列表
(1)
图9-30可配置IO端口列表
(2) 图9-31可配置IO端口列表(3)
7)添加内部外围设备。
如果开发板的部分外设在XPS中并没有提供,那么就需要通过用户通过HDL语言实现自定制底层接口逻辑,再将其作为外设导入到XPS中。
由于Spartan3EStarter开发板上的设备在XPS库中都能找到,因此可以跳过这一步骤。
9.4.6节将详细介绍如何实现定制外设的底层接口逻辑以及如何添加到XPS中。
8)软件建立。
如图9-32所示,该步骤需要完成下列几个工作:
选择STDIN/OUT器件,这里注意RS232_Uart外围设备为所选之一;Boot存储器为plb_bram_if_cntlr_1;存储器和外围设备的测试都使用默认的应用测试。
软件测试为所选外围设备发送或接收信息。
微处理器得到外围设备的状况后,通过STDIN/STDOUT设备发出报告。
图9-32软件建立向导
9)配置存储器和外围设备的测试应用。
在这个工程中,将指令、数据和栈/堆的存储位置设置为plb_bram_if_cntlr_1。
这样,利用BRAM控制器“_if_cntlr_1”,程序代码在FPGA“plb_bram”里的块RAM之外运行。
图9-33配置存储器和外围设备的测试应用
10)创建系统。
在选择并配置系统各个部分后,用户就可以对BSB给出的系统进行检查。
用户可以返回到之前的任何一步进行修改。
检查后,点击“Generate”产生系统。
BSB给出的系统信息如图9-34所示,通过比较可以看出,其和开发板硬件是匹配的。
图9-34BSP给出的系统信息
11)设计生成。
在生成上述设计后,系统的目录结构同时也得以创建。
HDL和其它文件根据用户的选择而生成,处理器,总线和外围设备以及其它逻辑实例间的连接也得到了处理。
点击“Finish”,XPS即与所创建的系统相关联。
至此,就完成了一个新系统工程的创建过程。
9.4.3XPS的用户界面
利用BSB建立了工程后,就可以利用XPS对此工程进行必要的修改。
XPS为创建硬件和软件流的MHS(MicroprocessorHardwareSpecification)和MSS(MicroprocessorSoftwareSpecification)文件提供了一个图形用户界面(GUI),如图9-35所示,为文件编辑器功能和方案过程管理功能提供了源文件编辑器,用于管理整个工具流,包括硬件和软件执行流。
XPS的用户界面可以分为标题栏、菜单栏、工具栏和主窗口,其中主窗口又可分为三个部分:
工程信息面板,系统组建面板和控制面板。
虽然菜单栏和工具栏操作的功能等效于在主窗口的操作,但在实际中将近80%的操作是在主窗口完成的,因此本节着重对其主窗口进行介绍。
图9-35XPS图形用户界面
1.工程信息面板
工程信息面板主要对工程进行控制,包括工程(Project)、应用(Application)和IP目录(IPCatalog)3个页面。
1)工程页面
工程页面列出了与工程有关的文件,分为三个部分:
工程文件,工程选项以及参考文件,如图9-36所示。
其中,ProjectFiles的信息是从BSB向导中获取的,双击某文件即可修改,也可以进行编辑。
.opt文件和.ut文件分别是加速编译的配置文件和生成比特流的配置文件,对于初学者,不建议修改。
ProjectOptions的信息从XMD文件中获取的,包括FPGA芯片的型号、网表信息、实现工具、HDL语言种类以及仿真模型等信息。
每一项都可以打开属性窗口进行设置。
参考文件包括日志log文件和报告srp文件,前者记录了用户的操作,后者则记录每个执行过程所产生的报告,帮助用户了解设计结果,这两个文件是XPS自动生成的,不需要修改。
图9-36工程信息区域:
工程标签
图9-37工程信息区域:
应用标签
2)应用页面
应用页面的信息都是和应用软件相关的。
在嵌入式系统中,软件的作用是十分重要的,硬件系统提供运行的平台,需要实现的全部功能都是通过软件系统来完成的。
在XPS中,应用软件分为两种:
一种是系统自动生成的boot,由XPS自动生成,用户无法修改;另一种是用户编写的应用软件。
应用所有组件见图9-37所示,分为处理器属性、编译器属性、源代码以及库文件。
右击用户定义的应用,可完成以下操作:
∙MarktoInitializeBRAMs:
将软件应用打包到初始化块RAM中,添加.bit配置文件,形成最终的比特文件,可直接配置到FPGA芯片中;
∙BuildProject:
将软件应用编译成可下载执行的.elf文件;
∙MakeProjectInactive:
将当前工程从初始化块RAM中剔除,使其失效;
∙GenerateLinkerScript:
自动生成连接脚本;
∙SetCompilerOptions:
设置编译属性,点击后可弹出编译属性子窗口,可设置连接脚本、堆、栈的大小以及程序的起始位置;代码优化级别和软件调试模块;第三方库以及编译器的绝对路径以及高级用户的定制编译指令。
3)IP目录页面
IP目录页面列出所有EDKIP核和用户生成的IP核,如图9-38所示。
由于Xilinx提供的IP核种类繁多,因此在XPS中按照功能进行分类,涉及到模拟接口、系统总线、存储器控制器、通信接口以及调试接口等十多个类别,指明了每个IP的版本、类别、名称以及使用的处理器型号。
选中并拖拽至系统组件面板,即可将其添加到系统中;同时在IPCore上单击右键,用户便可阅读其数据手册中的相应功能和使用方法。
需要注意的是,有加锁标志的IPCore,不是免费的,用户需要购买相应的License才能使用。
图9-38工程信息面板的IP分类示意图
例9-2在本例中,给出一些操作来指导读者认识工程信息面板中的内容。
1.点击“Project”页面标签。
用户可以查看工程文件以及对应选项。
2.点击“Application”标签。
展开“Project:
TestApp_Peripheral”,可以看到应用对应的处理器信息、可执行文件存放路径、编译选项、源代码以及头文件等信息。
3.在“Processor:
ppc405_0”中的“xparameters.h”文件包括了系统的地址映射,是BSP的一个部分。
4.在“CompilerOptions”和“Sources”中,连接脚本和测试应用源已由BSB向导自动生成。
点击“IPCatalog””标签,展开“CommunicationLow-SpeedIP”目录,右键点击“OPB_UART(Lite)”外围设备查看选项。
这里可以选择直接视图或分层视图。
点击图9-38中所标注圆圈内的图标可在这两种视图中进行切换。
2.系统组件(assembly)面板
系统组件面板是XPS软件使用频率最高的区域,几乎所有的操作都集中在这里。
该窗口是可视化配置系统硬件结构的主要手段,其界面如图9-39所示,分为连接区域和显示区域。
此外,代码编辑也集中在显示区域,用户以文本形式打开的所有可编辑文件都显示在该区域,并具备一般文件编辑器的功能,可完成编辑功能。
图9-39系统组件面板
1)XPS连接区域
XPS的连接面板,提供了总线接口、端口和地址选项,用户可以方便地编辑硬件平台。
如果选择总线接口选项,将出现连接面板,它给出了硬件平台互连图,其中的不同颜色和形状线条具有不同的物理意义:
∙竖直线表示总线,水平线表示到IP核的总线接口
∙如果总线和设备相连,则在总线和IP核总线接口的交叉处会出现一个连接点
∙线和连接器以不同的颜色标出
∙不同形状的连接符号表示IP核总线接口的不同身份。
∙中空的连接器表示用户可以进行连接,而实心的连接器表示已经有连接。
用户可以点击连接器符号来创建或删除连接。
2)显示区域
如前所示,显示区域可分为系统组件页面和代码编辑页面,本节只介绍系统组件页面。
XPS系统组件页面可分为分为总线接口(BusInterface)、端口(Ports)以及地址(Address)三个子窗口,通过点击“Filters”栏下面的选项进行切换。
在系统组件页面所有的操作都会引起硬件配置的变化,并反映到MHS文件中。
(1)BusInterface子窗口
该窗口给出了各个硬件单元和总线的连接关系,连接到某总线的硬件单元将和该总线的颜色一致,如图9-39所示。
在硬件单元上单击右键,可配置其参数、阅读相应的数据手册以及查看底层代码。
(2)Ports子窗口
该窗口用于配置端口参数,包括顶层模块和各个子模块的端口,并可对其重命名。
单击相应信号行Net列的下拉框,可选择连接的网表名,如图9-40所示。
图9-40Ports子窗口示意图
(3)Address子窗口
该窗口描述了各硬件单元的绝对地址和大小,可单击任意行的BaseAddress列和Size列设置不同的数值,设置完成后,HighAddress列的数值会自动作出调整,如图9-41所示。
此外,用户还可设置指令缓存(ICache)和数据缓存(DCache)的位置。
系统组件面板给出了两种视图选项:
分层视图和直接视图,用户可以更容易地进行信息分类和设计。
系统组件面板默认分层视图,此时设计信息基于硬件平台的IP核实例,并以可扩展树的结构进行组织。
而在直接方式中,有关信息以字母的顺序显示。
点击目录结构图标时,端口以分层方式或直接方式显示。
图9-41Address子窗口示意图
例9-3在本例中,给出一些操作来指导用户认识系统组件面板中的内容。
切换到在系统组件面板中后,
1.点击“Ports”按钮,展开“ExternalPorts”目录查看FPGA器件外的信号,注意与“RS232_Uart”有关的信号。
2.用户可以查看RS232_Uart外围设备信号以及与之相连的FPGA内部模块端口信号线名称。
UARTRX和TX信号线的名字与外部端口相对应,它们之间的对应关系在UCF文件中进行指定。
3.双击RS232_Uart外围设备图标打开“RS232_Uart:
opb_uartlite_v1_00_b”参数对话框。
用户可以使用此参数对话框为IP调整不同的设置。
4.点击目录图标,在分层视图和直接视图间进行切换。
3.控制面板
控制面板给出运行时给出的日志反馈信息,分为三个标签:
1.Output:
输出系统所有信息;
2.Warnings:
仅显示系统的警告信息;
3.Errors:
仅显示系统的错误信息。
通过这些信息可快速定位系统设计的问题,并找出相关原因。
9.4.4XPS的目录结构与硬件平台
1.目录结构
启动BSB后,XPS会自动生成工程目录结构,并创建一个完整的工程。
其所创建的目录结构如图9-42所示。
图9-42运行BSB向导创建的文件
下面对BSB自动生成的四个主要文件夹进行介绍:
1.__xps文件夹:
包括XPS和内部工程管理的其它工具产生的中间文件;
2.data文件夹:
包括用户约束文件(UCF)。
3.etc文件夹:
此目录包括的文件给出了那些用来运行不同工具的选项。
4.pcores文件夹:
包括了用户定制的硬件外围设备。
另外,在主工程目录下还有其它的一些文件。
如:
1.system.xmp:
这是EDK的顶层工程设计文件。
XPS读取此文件,并在用户界面上给出此文件内容。
2.system.mhs:
系统微处理器硬件规范(或MHS文件),给出系统元素、对应的参数以及连接。
MHS文件是项目的硬件基础。
此外,UCF文件也是和硬件结构对应的。
3.system.mss:
系统微处理器软件规范(或MSS文件),给出设计的软件部分,描述了系统元素以及外围设备的不同软件参数。
MSS文件是项目的软件基础。
2.硬件平台
嵌入式硬件平台包括一到多个处理器,以及多个外围设备和存储块。
这些IP块利用之间的互连网络进行通信。
每个处理器或外围设备核都可以由用户设计。
其中通过设计参数,可以控制不同的可选参数。
1)Xilinx平台工作室的硬件平台开发
XPS提供了一个交互式的开发环境,允许用户对硬件平台各个方面进行设置。
其中,XPS在高层对硬件平台描述进行维护,此高层形式即为微处理器硬件规范(MHS)文件。
MHS作为一个可以编辑的文本文件,是表示用户嵌入式系统硬件部分的主要源文件。
XPS将MHS源文件综合到硬件描述语言(HDL)网表中,后者用于FPGA的布局布线。
MHS文件的内容和格式已在9.3.3节进行了说明。
读者可从project标签中找到MHS文件,可在该文件中查看外围设备和端口的配置。
例9-4在本例中,指导用户查看XPS工程的MHS文件。
∙选择工程信息区的“Project”标签,可双击“MHSFile:
system.mhs”打开此文件,如图9-43所示。
图9-43MHS文件
∙在文件“system.mhs”中的“opb_uartlite”处,可以看到MHS文件里配置的外围设备、端口和它们的参数;
∙另外,还可以查看其它的IP核;查看后,关闭“system.mhs”文件。
2)系统组件面板的硬件平台
XPS的系统组件面板以展开式的树和表形式显示了所有的硬件平台IP实例,因此用户可以方便地查看自己的嵌入式设计。
在此面板中,对IP元素、端口、属性以及参数进行的配置会直接写入到MHS文件中。
即XPS会自动地将系统修改写入到MHS文件中的硬件数据库。
因此用户要编辑MHS文件时,Xilinx推荐使用系统组件面板这一功能。
为产生硬件平台,用户必须告知XPS产生网表,并产生比特流。
(1)在产生网表时,XPS调用平台创建工具Platgen来进行一系列的工作:
包括读取MHS文件,产生MHS文件对应的HDL,利用Xilinx综合技术来综合设计,最后产生网表文件。
(2)在产生比特流时,Platgen先检查是否存在更新后的网表。
ISE实现工具读取建立的网表文件,并连同用户约束文件(UCF)来产生包含硬件设计的BIT文件。
9.4.5在XPS加入IPCore
XPS提供了数目众多的IPCore,包括:
外设(块RAM接口控制器、中央DMA控制器、模数转换器、数模转换器、外设控制器、以太网MAC控制器、GPIO控制器、I2C总线接口、中断控制器、多通道外部存储器控制器、串行外设接口、SystemACE接口控制器、定时器、串口通信接口以及USB接口等)和基础设施(数据端的片上存储器总线、快速单工链路总线、单精度浮点计算内核、LMB块RAM接口控制器、微处理器调试模块、处理器系统复位模块以及内部总线各种桥接模块)两大类。
每个IPCore可直接实现用户所需的所有功能,能与MicroBlaze软处理器核和PowerPC处理器协同工作,从而减少了为外部设备编写驱动程序的工作。
下面在例9-1的基础上,通过添加通用输入、输出I/O(GPIO)模式来介绍如何在工程中添加XPS提供的IPCore。
例9-5在例9-1的基础上添加一个8位的GPIO模块。
(1)添加GPIO模块。
在“ProjectInformationArea”区域中选择“IPCatalog”选项,并在“OPBGeneralPurposeIO”上单击右键,然后在弹出的对话框中选择“AddIP”命令,可将该IPCore加入工程;或者选中“OPBGeneralPurposeIO”,直接将其拖到系统组件区,也能添加该IPCore。
(2)完成GPIO模块的总线接口配置。
在工程区单击“opb_gpio_0”前面的“+”号,展开树形结构,然后单击中“SOPB”左侧对应的OPB节点,将其从空心节点变成实心节点,完成和OPB总线连接,如图9-44所示。
图9-44GPIO模块和OPB总线连接示意图
(3)完成GPIO模块的参数配置。
在opb_gpio_0上单击右键,并选择“ConfigureIP”,或选中opb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xps 操作