利用XPS工具快速生成Virtex FPGA的板支持包
具有嵌入式处理器的 平台 FPGA 为您提供前所未有的灵活性、集成度和高性能。目前,在单个可编程逻辑设备中开发极其复杂且高度定制化的嵌入式系统已成为可能。
随着芯片性能的不断增加,如何使设计方法始终高效、多产,成为人们面临的主要挑战。嵌入式系统开发的关键活动之一是开发板支持包 (BSP)。利用 BSP,可以使嵌入式软件应用程序成功地初始化,并与连接到处理器的硬件资源进行通信。典型的 BSP 组件包括引导代码、设备驱动程序代码和初始化代码。
创建 BSP 是一个冗长而繁复的过程,并且在微处理器复合体(处理器和相关的外设)每次有所变更时都得再次进行。对 FPGA 而言,迅速的设计循环加上平台的灵活性,会使得管理 BSP 的任务更为艰巨(图 1)。这一情况迫使人们寻找更有效地管理 BSP 的方法。
本文将描述 Xilinx 提供的一种创新解决方案,它可以简化 RTOS BSP 的创建和管理。我们选择了 WindRiver VxWorks 流程来阐明这一概念,但其蕴含的技术是通用的,同样适用于支持 Xilinx® 处理器的所有其他操作系统解决方案。
传统嵌入式平台
平台 FPGA
OPB 仲裁器
低速外设
定制外设
PLB-OPB 桥接
不同于
PLB 仲裁器
存储控制器
高速外设
•固定外设
•固定地址映射
•固定 BSP
•基于设计的外设
•每个板都是独特的定制产品
•需要创建高效的定制 BSP
图 1 – 平台 FPGA 灵活性要求软件 BSP 生成过程具有高效率
Xilinx 设计流程和软件 BSP 生成
Xilinx 处理器的设计包含硬件平台装配流程和嵌入式软件开发流程。这些流程都通过 Xilinx Platform Studio (XPS) 工具加以管理,该工具属于 Xilinx 嵌入式开发套件 (EDK) 的一部分。
设计通常始于在 XPS 中装配与配置处理器及与其相连接的配件。定义好硬件平台后,就可以配置系统的软件参数了。
Platform Studio 的一个主要特点是,它可以根据您对处理器、外设和嵌入式操作系统的选择和配置来定制 BSP。系统通过硬件设计的叠代改变而发展,同时,BSP 随着平台而发展。
自动生成的 BSP 可赋予嵌入式系统设计者以下能力:
- 自动创建与硬件设计完全匹配的 BSP
- 使用预认证的组件消除 BSP 设计错误
- 立即启动应用软件开发,增加设计者的产量
创建用于 WindRiver VxWorks 的 BSP
Platform Studio 可生成用于 Xilinx Virtex™-II Pro 和 Virtex-4 FPGA 中的 PowerPC™ 405 处理器及其外设的定制 Tornado 2.0.x (VxWorks 5.4) 或 Tornado 2.2.x (VxWorks 5.5) BSP。生成的 BSP 包含系统必需的所有支持软件,包括:引导代码、设备驱动程序和 VxWorks 初始化。
在 Platform Studio 定义完具有 PowerPC 405 处理器的硬件系统后,只需遵循以下三个步骤即可生成用于 VxWorks 的 BSP:
- 使用软件设置对话框(见图 2)选择要为系统使用的操作系统。Platform Studio 用户可选择 vxworks5_4 或 vxworks5_5 作为其目标操作系统。
- 选择了操作系统后,可转到资料库/操作系统参数标签(如图 3 所示),根据定制硬件调整 Tornado BSP。您可以选择系统中的任意 UART 器件作为标准 I/O 器件(标准输入和标准输出)。这将使该设备被用作 VxWorks 控制台器件。
您还可以选择将哪些外设作为连接外设,将哪些器件紧密集成到 VxWorks 操作系统。例如,Xilinx 10/100 以太网 MAC 可以集成到 VxWorks 增强型网络驱动(Enhanced Network Driver 即 END)接口。或者,不必将以太网器件连接到 END 接口,而从 VxWorks 应用程序直接访问它。 - 选择“工具 > 生成资料库”和 BSP 菜单选项,生成 Tornado BSP。生成的 BSP 与传统的 Tornado BSP 相似,位于 ppc405_0/bsp_ppc405_0 下的 Platform Studio 项目目录中(见图 4)。
图 2 – 设置选择嵌入式操作系统
图 3 – 配置具体操作系统的参数

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

图 5 – Tornado 2.x 项目:VxWorks 标签
基于 FPGA 的嵌入系统之动态特性是造成此微小差别的原因。因为基于 FPGA 的嵌入系统可以用新的或更改后的 IP 重新编程,设备驱动程序可以改变,因此就需要对设备驱动程序源文件进行更为动态的放置。表 4 为自动生成的 BSP 的目录树。Xilinx 设备驱动程序放置在 BSP 子目录 ppc405_0_drv_csp/xsrc 中。
Xilinx 设备驱动程序在 C 盘中执行并分布在数个源文件中,这点不同于传统的、通常由单个 C header 和执行文件组成的 VxWorks 驱动程序。此外,对于设备驱动程序,既有独立于操作系统的执行,又有可选的依赖于操作系统的执行。
驱动程序的操作系统独立部分应同任何操作系统或处理器一起使用。它提供了一种应用程序接口 (API),能提取基础硬件的功能。驱动程序的操作系统附属部分对驱动程序进行调整,使其得以在 VxWorks 之类的操作系统下使用。例子有串行端口使用的 Serial IO 驱动程序和以太网控制器使用的 END 驱动程序。只有能被紧密集成到标准操作系统接口的驱动程序才要求操作系统附属驱动程序。
Xilinx 驱动程序源文件加入 VxWorks 映像构件的方式同
相关阅读:
- ...· Efinix® 全力驱动AI边缘计算,成功推出Trion™ T20 FPGA样品, 同时将产品扩展到二十万逻辑单元的T200 FPGA
- ...· 英飞凌亮相进博会,引领智慧新生活
- ...· 三电产品开发及测试研讨会北汽新能源专场成功举行
- ...· Manz亚智科技跨入半导体领域 为面板级扇出型封装提供化学湿制程、涂布及激光应用等生产设备解决方案
- ...· 中电瑞华BITRODE动力电池测试系统顺利交付北汽新能源
- ...· 中电瑞华FTF系列电池测试系统中标北京新能源汽车股份有限公司
- ...· 中电瑞华大功率高压能源反馈式负载系统成功交付中电熊猫
- ...· 中电瑞华国际在电动汽车及关键部件测评研讨会上演绎先进测评技术