当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]利用XPS工具快速生成Virtex FPGA的板级支持包

具有嵌入式处理器的平台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初始化。
 图1:平台FPGA灵活性要求软件BSP产生过程更高效

  

在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应用程序直接访问它。 [!--empirenews.page--]

  3. 选择“工具>生成库”和BSP菜单选项,生成Tornado BSP。生成的BSP与传统的Tornado BSP相似,位于ppc405_0/bsp_ppc405_0下的“Platform Studio”目录中(见图2)。注意ppc405_0为硬件设计中PowerPC 405处理器的实例名。XPS用户可指定其它实例名,此时BSP的子目录名称会匹配处理器实例名。

  

  

  图2:生成的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编译。 [!--empirenews.page--]

该过程与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紧密结合的器件驱动程序包括:10/100以太网MAC;10/100以太网Lite MAC;1Gb以太网MAC;16550/16450 UART;UART Lite;中断控制器;System ACE技术;PCIe。

  所有其它器件及相关的器件驱动程序并未紧密集成到VxWorks接口,而只是与其松散集成。对这些器件的访问可通过从用户应用程序直接访问相关器件驱动程序来进行。

  本文小结

  随着基于嵌入式处理器的FPGA日益受人喜爱并得到广泛应用,能将硬件和软件流程有效组织在一起的工具解决方案应运而生,对帮助设计者工作效率跟上芯片的进展起到了关键作用。

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭