您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

利用XPS东西快速天生Virtex FPGA的板级支持包

发布日期:2011-05-06

  具有嵌入式处理惩罚器的平台FPGA提供很大的机动性、集成度和高性能。如今,在单个可编程逻辑器件中开辟极其巨大且高度定制化的嵌入式体系已成为大概。随着芯片性能的不绝增长,怎样使计划要领始终高效、多产,成为人们面对的重要挑衅。嵌入式体系开辟的关键活动之一是板级支持包(BSP)。利用BSP,可以使嵌入式软件应用步伐告成地初始化,并与连接到处理惩罚器的硬件资源举行通讯。典范的BSP组件包括引导代码、器件驱动步伐代码和初始化代码。 

  创建BSP是一个冗长而繁复的进程,并且每当微处理惩罚器与处理惩罚器和相干的外设的组合有所变动时都得再次创建。对FPGA而言,短的计划周期加上平台的机动性,会使得办理BSP的任务更为困难(图1)。这就迫使人们探求更有效地办理BSP的要领。 

  
计划流程和软件BSP天生 

  赛灵思处理惩罚器的计划包括硬件平台调集流程和嵌入式软件开辟流程。这些流程都通过XPS(Xilinx Platform Studio)东西加以办理,该东西属于赛灵思嵌入式开辟套件(EDK)的一部分。 

  计划通常始于在XPS中调集与配置处理惩罚器及与其相连接的器件。定义好硬件平台后,就可以配置体系的软件参数了。XPS的一个重要特点是,它可以根据你对处理惩罚器、外设和嵌入式操纵体系的选择和配置来定制BSP。体系通过硬件计划的迭代变化而生长,同时BSP随着平台而生长。 

  主动天生的BSP可付与嵌入式体系计划者以下本领:主动创建与硬件计划完全立室的BSP;利用预认证的组件消除BSP计划错误;立即启动应用软件开辟,进步计划者的服从。 

  创建用于VxWorks的BSP 

  XPS可天生用于赛灵思Virtex-II Pro和Virtex-4 FPGA中的PowerPC 405处理惩罚器及其外设的定制Tornado 2.0.x(VxWorks5.4)或Tornado 2.2.x(VxWorks5.5)BSP。天生的BSP包括体系必须的全部支持软件,包括引导代码、器件驱动步伐和VxWorks初始化。 

  在XPS定义完具有PowerPC 405处理惩罚器的硬件体系后,只需依照以下三个步调即可天生用于VxWorks的BSP: 

  1. 利用软件设置对话框选择要为体系利用的操纵体系。XPS用户可选择VxWorks5.4或VxWorks5.5作为其目标操纵体系。 

  2. 选择了操纵体系后,可转到数据库/操纵体系参数标志,根据定制硬件调解Tornado BSP。你可以选择体系中的恣意UART器件作为标准I/O器件(标准输入和标准输出)。这将使该器件被用作VxWorks控制器件。 

  你还可以选择将哪些外设作为连接外设,将哪些器件细麋集成到VxWorks操纵体系。比方,赛灵思10/100以太网MAC可以集成到VxWorks加强型网络驱动步伐(END)接口。大概不必将以太网器件连接到END接口,而从VxWorks应用步伐直接访问它。 

  3. 选择“东西>天生库”和BSP菜单选项,天生Tornado BSP。天生的BSP与传统的Tornado BSP相似,位于ppc405_0/bsp_ppc405_0下的“Platform Studio”目次中。细致ppc405_0为硬件计划中PowerPC 405处理惩罚器的实例名。XPS用户可指定别的实例名,此时BSP的子目次名称会立室处理惩罚器实例名。

  通过XPS天生的Tornado BSP具有一个“Makefile”文件,要是盼望利用Diab编译器而不是Gnu编译器,可在下令行修改此文件。

  Tornado BSP是完全独立的,并可以转移到别的目次位置,如BSP的标准Tornado安置目次:target/config。

 
 定制BSP

  由XPS天生的用于VxWorks的BSP与大多数别的Tornado BSP相似,只是赛灵思器件驱动步伐代码的位置有所差别。与Tornado相干的现成器件驱动步伐代码通常位于Tornado散布目次的target/src/drv目次中,而由XPS主动天生的BSP的器件驱动步伐代码位于BSP目次本身中。

  基于FPGA的嵌入体系之动态特性是导致此微小差别的缘故起因。由于基于FPGA的嵌入体系可以用新的或变动后的IP重新编程,器件驱动步伐可以变化,因此就必要对器件驱动步伐源文件举行更为动态的安排。图2为主动天生的BSP目次树,赛灵思器件驱动步伐安排在BSP子目次ppc405_0_drv_csp/xsrc中。

  赛灵思器件驱动步伐在C盘中实行并散布在数个源文件中,这点差别于传统的、通常由单个C头文件和实行文件构成的VxWorks驱动步伐。别的,对付器件驱动步伐,既有独立于操纵体系的实行,又有可选的依赖于操纵体系的实行。

  驱动步伐的操纵体系独立部分应同任意操纵体系或处理惩罚器一起利用。它提供了一种应用步伐接口(API),能提取底子硬件的成果。驱动步伐的操纵体系从属部分对驱动步伐举行调解,使其得以在VxWorks之类的操纵体系下利用,比方串行端口利用的Serial IO驱动步伐和以太网控制器利用的END驱动步伐。只有能被细麋集成到标准操纵体系接口的驱动步伐才请求操纵体系从属驱动步伐。

  赛灵思驱动步伐源文件参加VxWorks映像构件的方法同别的BSP文件参加的方法雷同。针对每个驱动步伐,在BSP目次中都有一个名为ppc405_0_drv_.c的文件。此文件包括针对给定器件的驱动步伐源文件(*.c),并主动由BSP makefile编译。

  该进程与VxWorks sysLib.c针对风河体系(Wind River)提供的驱动步伐纳入源文件的进程相似。赛灵思驱动步伐文件不像别的驱动步伐一样单纯纳入sysLib.c的缘故起因,在于定名空间的辩论和可维护性题目。要是全部的赛灵思驱动步伐文件都是单个编译单位的一部分,那么静态成果和数据就不再处于保密状态了。这会对器件驱动步伐孕育产生限定,也会抵消其操纵体系独立性。

 
 与Tornado IDE集成

  主动天生的BSP被集成到Tornado IDE。BSP可屈从令行利用“Tornado make”东西编译,或从“Tornado Project”编译。天生BSP后,只需在下令行键入“make VxWorks”来编译可启动的RAM映像。这是假定此前已设置了Tornado环境(此设置可以在Windows操纵平台上在下令行利用host/x86-win32/bin/torVars.bat来完成)。要是你利用的是“Tornado Project”器件,可以在新天生的BSP的底子上创建一个项目,然后利用通过IDE提供的构件环境编译此BSP。

  Tornado 2.2.x不但支持Gnu编译器,还支持Diab编译器。XPS创建的Tornado BSP有一个“Makefile”,要是你想利用Diab编译器而不是Gnu编译器,则可以在下令行修改此“Makefile”。探求称为“东西”的天生变量,将值设置到Diab而不是Gnu。要是利用“Tornado Project”东西,项目最首创建时可选择所需的编译器。

  文件“50ppc405_0.cdf”位于BSP目次下,并在创建BSP的进程中加以变动。此文件将器件驱动步伐融入了Tornado IDE菜单体系。驱动步伐在“硬件>外围器件”子文件夹处与BSP连合在一起。在其下面是单独的器件驱动步伐文件夹。

 “Tornado Project Facility”的“文件”标志也会表现用来将赛灵思器件驱动步伐与Tornado构建进程连合在一起的文件数量。这些文件由XPS主动创建,你只必要知道其存在就行。

  一些常用器件与操纵体系精密连合,而别的器件可通过直接利用器件驱动步伐从应用步伐上访问。

  全部别的器件及相干的器件驱动步伐并未细麋集成到VxWorks接口,而只是与其疏松集成。对这些器件的访问可通过从用户应用步伐直接访问相干器件驱动步伐来举行。

 
 本文小结

  随着基于嵌入式处理惩罚器的FPGA日益受人喜好并得到遍及应用,能将硬件和软件流程有效构造在一起的东西办理方案应运而生,对资助计划者事变服从跟上芯片的盼望起到了关键作用。

  赛灵思用户不停非常承认XPS及其与VxWorks 5.4和5.5的集成。赛灵思将对Wind River流程的开辟予以不懈支持,此流程不久就会包括对VxWorks 6.0和Workbench IDE的支持。