您的位置 首页 传感器

生成有用的板支撑包

具有嵌入式处理器的 平台 FPGA 为您提供前所未有的灵活性、集成度和高性能。目前,在单个可编程逻辑设备中开发极其复杂且高度定制化的嵌入式系统已成为可能。

具有嵌入式处理器的渠道 FPGA|0″>FPGA 为您供给史无前例的灵敏性、集成度和高功用。现在,在单个可编程逻辑设备中开发极端杂乱且高度定制化的嵌入式体系已成为或许。

跟着芯片功用的不断添加,怎么使规划办法一向高效、多产,成为人们面对的首要应战。嵌入式体系开发的要害活动之一是开发板支撑包 (BSP)。运用 BSP,能够使嵌入式软件运用程序成功地初始化,并与衔接到处理器的硬件资源进行通讯。典型的 BSP 组件包含引导代码、设备驱动程序代码和初始化代码。

创立 BSP 是一个冗长而繁复的进程,并且在微处理器复合体(处理器和相关的外设)每次有所改动时都得再次进行。对 FPGA 而言,敏捷的规划循环加上渠道的灵敏性,会使得办理 BSP 的使命更为艰巨(图 1)。这一状况迫使人们寻觅更有用地办理 BSP 的办法。

本文将描绘 Xilinx, Inc.|306|1″>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)。

注:ppc405_0 为硬件规划中 PowerPC 405 处理器的实例名。Platform Studio 用户可指定其他实例名,此刻,BSP 的子目录称号会匹配处理器实例名。

图 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 映像构件的方法同其他 BSP 文件参加的方法相同。针对每个驱动程序,在 BSP 目录中都有一个名为 ppc405_0_drv_driver_version>.c 的文件。此文件包含针对给定设备的驱动程序源文件 (*.c),并主动由 BSP makefile 编译。

该进程与 VxWorks sysLib.c 针对 Wind River-supplied 驱动程序归入源文件的进程类似。Xilinx 驱动程序文件不像其他驱动程序相同单纯归入 sysLib.c 的原因,在于命名空间的抵触和可维护性问题。假如一切的 Xilinx 驱动程序文件都是单个编译单元的一部分,那么静态功用和数据就不再处于保密状况了。这会对设备驱动程序发生约束,也会抵消其操作体系独立性。

表 6 – Tornado 2.x 项目:文件标签

与 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 编译器。Platform Studio 创立的 Tornado BSP 有一个 makefile,假如您想运用 diab 编译器而不是 gnu 编译器,则能够在命令行修正此 makefile。寻觅称为“东西”的生成变量,将值设置到“diab”而不是“gnu”。假如运用 Tornado Project 东西,项目开始创立时,可挑选所需的编译器。

文件 50ppc405_0.cdf 坐落 BSP 目录下,并在创立 BSP 的进程中加以更改。此文件将设备驱动程序融入了 Tornado IDE 菜单体系。驱动程序在“硬件 > 外围设备”子文件夹处与 BSP 结合在一同。在其下面是独自的设备驱动程序文件夹。图 5 显现一个带有 Xilinx 设备驱动程序的菜单。

Tornado Project Facility 的“文件”标签也会显现用来将 Xilinx 设备驱动程序与 Tornado 构建进程结合在一同的文件数量。这些文件由 Platform Studio 主动创立,您只需求知道其存在就行了。图 6 显现一个驱动程序构建文件的示例。

一些常用设备与操作体系严密结合,而其他设备可经过直接运用设备驱动程序从运用程序上拜访。与 VxWorks 严密结合的设备驱动程序包含:

  • 10/100 以太网 MAC
  • 10/100 以太网 Lite MAC
  • 1 Gigabit 以太网 MAC
  • 16550/16450 UART
  • UART Lite
  • 中止控制器
  • System ACE™ 技能
  • PCIe

一切其他设备及相关的设备驱动程序并未严密集成到 VxWorks 接口,而仅仅与其松懈集成。对这些设备的拜访可经过从用户运用程序直接拜访相关设备驱动程序来进行。

结束语

跟着依据嵌入式处理器的 FPGA 日益受人喜欢并得到广泛运用,能将硬件和软件流程有用安排在一同的东西解决方案应运而生,对协助规划者工作效率跟上芯片的发展起到了要害作用。

Xilinx 用户一向十分认可 Platform Studio 及其与 VxWorks 5.4 and 5.5. 的集成。Xilinx 将对 Wind River 流程的开发予以不懈支撑,此流程不久就会包含对 VxWorks 6.0 和 Workbench IDE 的支撑。

Microprocessor Library Definition (MLD)

启用动态和定制 BSP 生成的技能是以称为 Microprocessor Library Definition (MLD) 的 Xilinx 专有格局为根底的。该格局向第三方供货商供给一个运用于 Xilinx Platform Studio 的刺进接口,以发动定制库和针对特定操作体系的 BSP 生成(检查图 7)。MLD 接口由第三方公司为特定的流程编写的典型程序。它启用了下列附加功用:

  • 启用了定制规划规矩检查功用
  • 供给了为方针操作体系环境定制设备驱动程序的功用
  • 供给了在针对操作体系东西链的格局和文件夹结构中定制创立 BSP 的功用
  • 供给了为所运用的硬件体系定制一个 OS/kernel 的功用

MLD 接口是一个已发布且得到公认的依据 ASCII 的标准。每个实时操作体系 (RTOS) 流程均具有各自共同的 MLD 文件集。一个 MLD 文件集包含以下两个文件:

  • 一个数据界说 (.mld) 文件。该文件经过 Platform Studio 设置的一组参数来界说资料库或操作体系。这些参数值保存在 Platform Studio 内部数据库中,在输出数据期间供脚本文件运用。
  • 一个 .tcl 脚本文件。此文件经过 XPS 调用来创立定制 BSP。该文件包含一组能够拜访整个数据库的程序,因而能够依照流程要求编撰定制输出格局。

HW 规划

操作体系挑选

MLD 文件

.MLD .TCL

XPS

HW 网表

RTOS BSP

转到 ISE

转到 RTOS IDE

图 7 – MLD 流程结构

EDK 文档对 MLD 语法进行了胪陈(请经过 www.xilinx.com/cn/ise/embedded/ psf_rm.pdf查阅“渠道标准格局参考手册”)。您还能够在坐落 sw/lib/bsp 下的 EDK 装置指南中检查 MLD 示例。

一旦为特定 RTOS 流程创立了 MLD 文件,就需求将这些文件装置到特定途径中,以便 Xilinx Platform Studio 鄙人一次调用 RTOS 时能找到它们。XPS 对话框中的特定 RTOS 菜单挑选此刻会变为活泼状况 (Project > SW Platform Settings > Software Platform > OS)。

现在,能够在 XPS 中运用以下合作伙伴的 MLD 文件:

  • Wind River (VxWorks 5.4, 5.5)(包含于 Xilinx Platform Studio 中)
  • MontaVista (Linux)(包含在 Xilinx Platform Studio 中)
  • Mentor Accelerated Technologies (Nucleus)(可经过 www.xilinx.com/cn/ise/embedded/mld/ 下载)
  • GreenHills Software (Integrity)(可经过 www.xilinx.com/cn/ise/embedded/mld/ 下载)
  • Micrium (µc/OS-II)(可经过 www.xilinx.com/cn/ise/embedded/mld/ 下载)
  • µcLinux(可经过 www.xilinx.com/cn/ise/embedded/mld/ 下载)。

作者:Rick Moleres 软件 IP 司理 Xilinx, Inc. @xilinx.com”>rick.moleres@xilinx.com

Milan Saini 技能营销司理 Xilinx, Inc. @xilinx.com”>milan.saini@xilinx.com

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/325408.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部