弯头厂家
免费服务热线

Free service

hotline

010-00000000
弯头厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

利用XilinxPlatformStudio工具套件快速便捷地生成BSP

发布时间:2020-07-21 17:23:09 阅读: 来源:弯头厂家

具有嵌入式处理器的平台FPGA为您提供前所未有的灵活性、集成度和高性能。目前,在单个可编程逻辑设备中开发极其复杂且高度定制化的嵌入式系统已成为可能。随着芯片性能的不断增加,如何使设计方法始终高效、多产,成为人们面临的主要挑战。嵌入式系统开发的关键活动之一是开发板支持包(BSP)。利用BSP,可以使嵌入式软件应用程序成功地初始化,并与连接到处理器的硬件资源进行通信。典型的BSP组件包括引导代码、设备驱动程序代码和初始化代码。创建BSP是一个冗长而繁复的过程,并且在微处理器复合体(处理器和相关的外设)每次有所变更时都得再次进行。对FPGA而言,迅速的设计循环加上平台的灵活性,会使得管理BSP的任务更为艰巨(图1)。这一情况迫使人们寻找更有效地管理BSP的方法。

图 1 – 平台 FPGA 灵活性要求软件 BSP 生成过程具有高效率本文将描述Xilinx提供的一种创新解决方案,它可以简化RTOSBSP的创建和管理。我们选择了WindRiverVxWorks流程来阐明这一概念,但其蕴含的技术是通用的,同样适用于支持Xilinx®处理器的所有其他操作系统解决方案。Xilinx设计流程和软件BSP生成Xilinx处理器的设计包含硬件平台装配流程和嵌入式软件开发流程。这些流程都通过XilinxPlatformStudio(XPS)工具加以管理,该工具属于Xilinx嵌入式开发套件(EDK)的一部分。设计通常始于在XPS中装配与配置处理器及与其相连接的配件。定义好硬件平台后,就可以配置系统的软件参数了。PlatformStudio的一个主要特点是,它可以根据您对处理器、外设和嵌入式操作系统的选择和配置来定制BSP。系统通过硬件设计的叠代改变而发展,同时,BSP随着平台而发展。自动生成的BSP可赋予嵌入式系统设计者以下能力: •自动创建与硬件设计完全匹配的BSP •使用预认证的组件消除BSP设计错误 •立即启动应用软件开发,增加设计者的产量

创建用于WindRiverVxWorks的BSPPlatformStudio可生成用于XilinxVirtex™-IIPro和Virtex-4FPGA中的PowerPC™405处理器及其外设的定制Tornado2.0.x(VxWorks5.4)或Tornado2.2.x(VxWorks5.5)BSP。生成的BSP包含系统必需的所有支持软件,包括:引导代码、设备驱动程序和VxWorks初始化。在PlatformStudio定义完具有PowerPC405处理器的硬件系统后,只需遵循以下三个步骤即可生成用于VxWorks的BSP:1.使用软件设置对话框(见图2)选择要为系统使用的操作系统。PlatformStudio用户可选择vxworks5_4或vxworks5_5作为其目标操作系统。

图 2 – 设置选择嵌入式操作系统2.选择了操作系统后,可转到资料库/操作系统参数标签(如图3所示),根据定制硬件调整TornadoBSP。您可以选择系统中的任意UART器件作为标准I/O器件(标准输入和标准输出)。这将使该设备被用作VxWorks控制台器件。

图 3 – 配置具体操作系统的参数您还可以选择将哪些外设作为连接外设,将哪些器件紧密集成到VxWorks操作系统。例如,Xilinx10/100以太网MAC可以集成到VxWorks增强型网络驱动(Enhanced NetworkDriver即END)接口。或者,不必将以太网器件连接到END接口,而从VxWorks应用程序直接访问它。3.选择“工具>生成资料库”和BSP菜单选项,生成TornadoBSP。生成的BSP与传统的TornadoBSP相似,位于ppc405_0/bsp_ppc405_0下的PlatformStudio项目目录中(见图4)。

图 4 – 生成的 BSP 目录结构注:ppc405_0为硬件设计中PowerPC405处理器的实例名。PlatformStudio用户可指定其他实例名,此时,BSP的子目录名称会匹配处理器实例名。 通过PlatformStudio生成的TornadoBSP具有一个Makefile文件,如果希望使用Diab编译器而不是Gnu编译器,可在命令行修改此文件。TornadoBSP完全独立,并可以传输到其他目录位置,如BSP的标准Tornado安装目录:target/config。 定制BSP详细信息由XPS生成的用于VxWorks的BSP与大多数其他TornadoBSP相似,只是Xilinx设备驱动程序代码的位置有所不同。与Tornado相关的现成的设备驱动程序代码通常位于Tornado分布目录的target/src/drv目录中,而由PlatformStudio自动生成的BSP的设备驱动器代码位于BSP目录本身中。

图5–Tornado2.x项目:VxWorks标签基于FPGA的嵌入系统之动态特性是造成此微小差别的原因。因为基于FPGA的嵌入系统可以用新的或更改后的IP重新编程,设备驱动程序可以改变,因此就需要对设备驱动程序源文件进行更为动态的放置。表4为自动生成的BSP的目录树。Xilinx设备驱动程序放置在BSP子目录ppc405_0_drv_csp/xsrc中。Xilinx设备驱动程序在C盘中执行并分布在数个源文件中,这点不同于传统的、通常由单个Cheader和执行文件组成的VxWorks驱动程序。此外,对于设备驱动程序,既有独立于操作系统的执行,又有可选的依赖于操作系统的执行。驱动程序的操作系统独立部分应同任何操作系统或处理器一起使用。它提供了一种应用程序接口(API),能提取基础硬件的功能。驱动程序的操作系统附属部分对驱动程序进行调整,使其得以在VxWorks之类的操作系统下使用。例子有串行端口使用的SerialIO驱动程序和以太网控制器使用的END驱动程序。只有能被紧密集成到标准操作系统接口的驱动程序才要求操作系统附属驱动程序。Xilinx驱动程序源文件加入VxWorks映像构件的方式同其他BSP文件加入的方式相同。针对每个驱动程序,在BSP目录中都有一个名为ppc405_0_drv_<driver_version>.c的文件。此文件包括针对给定设备的驱动程序源文件(*.c),并自动由BSPmakefile编译。该过程与VxWorkssysLib.c针对WindRiver-supplied驱动程序纳入源文件的过程相似。Xilinx驱动程序文件不像其余驱动程序一样单纯纳入sysLib.c的原因,在于命名空间的冲突和可维护性问题。如果所有的Xilinx驱动程序文件都是单个编译单元的一部分,那么静态功能和数据就不再处于保密状态了。这会对设备驱动程序产生限制,也会抵消其操作系统独立性。

表6–Tornado2.x项目:文件标签 与TornadoIDE集成自动生成的BSP被集成到TornadoIDE(项目设备)。BSP可从命令行使用Tornadomake工具编译,或从TornadoProject编译。生成BSP后,只需在命令行键入makevxWorks来编译可启动的RAM映像。这是假定此前已设置了Tornado环境(此设置可以在Windows操作平台上在命令行使用host/x86-win32/bin/t来完成)。如果您使用的是TornadoProject设备,可以在新生成的BSP的基础上创建一个项目,然后使用通过IDE提供的构件环境编译此BSP。Tornado2.2.x不仅支持gnu编译器,还支持diab编译器。PlatformStudio创建的TornadoBSP有一个makefile,如果您想使用diab编译器而不是gnu编译器,则可以在命令行修改此makefile。寻找称为“工具”的生成变量,将值设置到“diab”而不是“gnu”。如果使用TornadoProject工具,项目最初创建时,可选择所需的编译器。文件50ppc405_f位于BSP目录下,并在创建BSP的过程中加以更改。此文件将设备驱动程序融入了TornadoIDE菜单系统。驱动程序在“硬件>外围设备”子文件夹处与BSP结合在一起。在其下面是单独的设备驱动程序文件夹。图5显示一个带有Xilinx设备驱动程序的菜单。TornadoProjectFacility的“文件”标签也会显示用来将Xilinx设备驱动程序与Tornado构建过程结合在一起的文件数量。这些文件由PlatformStudio自动创建,您只需要知道其存在就行了。图6显示一个驱动程序构建文件的示例。一些常用设备与操作系统紧密结合,而其他设备可通过直接使用设备驱动程序从应用程序上访问。与VxWorks紧密结合的设备驱动程序包括: •10/100以太网MAC •10/100以太网LiteMAC •1Gigabit以太网MAC •16550/16450UART •UARTLite •中断控制器 •SystemACE™技术 •PCIe所有其他设备及相关的设备驱动程序并未紧密集成到VxWorks接口,而只是与其松散集成。对这些设备的访问可通过从用户应用程序直接访问相关设备驱动程序来进行。 结束语随着基于嵌入式处理器的FPGA日益受人喜爱并得到广泛应用,能将硬件和软件流程有效组织在一起的工具解决方案应运而生,对帮助设计者工作效率跟上芯片的进展起到了关键作用。Xilinx用户一直非常认可PlatformStudio及其与VxWorks5.4and5.5.的集成。Xilinx将对WindRiver流程的开发予以不懈支持,此流程不久就会包括对VxWorks6.0和WorkbenchIDE的支持。 MicroprocessorLibraryDefinition(MLD)

图 7 – MLD 流程结构启用动态和定制BSP生成的技术是以称为MicroprocessorLibraryDefinition(MLD)的Xilinx专有格式为基础的。该格式向第三方供应商提供一个应用于XilinxPlatformStudio的插入接口,以启动定制库和针对特定操作系统的BSP生成(查看图7)。MLD接口由第三方公司为特定的流程编写的典型程序。它启用了下列附加功能:•启用了定制设计规则检查功能•提供了为目标操作系统环境定制设备驱动程序的功能•提供了在针对操作系统工具链的格式和文件夹结构中定制创建BSP的功能•提供了为所使用的硬件系统定制一个OS/kernel的功能MLD接口是一个已发布且得到公认的基于ASCII的标准。每个实时操作系统(RTOS)流程均具备各自独特的MLD文件集。一个MLD文件集包括以下两个文件:•一个数据定义(.mld)文件。该文件通过PlatformStudio设置的一组参数来定义资料库或操作系统。这些参数值保存在PlatformStudio内部数据库中,在输出数据期间供脚本文件使用。•一个.tcl脚本文件。此文件通过XPS调用来创建定制BSP。该文件包含一组可以访问整个数据库的程序,因此可以按照流程要求撰写定制输出格式。

泉州碧莲盛医院好不好

南昌碧莲盛植发

石家庄碧莲盛植发医院怎么样

相关阅读