Vitis 软件平台中的工作空间结构 - 2022.1 Chinese

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 简体中文

Vitis 工作空间内有两种类型的工程:

图 1. Vitis 软件平台工程类型
工作空间
打开 Vitis 软件平台时,会创建工作空间。工作空间即供 Vitis 软件平台用于存储工程数据和元数据的目录位置。初始工作空间位置必须在启动 Vitis 软件平台时提供。
XSA
XSA 是从 Vivado Design Suite 导出的。它包含各种硬件规格,例如,处理器配置属性、外设连接信息、地址映射和器件初始化代码等。创建平台工程时,必须提供 XSA。
平台
目标平台(或称平台)是由硬件组件 (XSA) 和软件组件(域/BSP、FSBL 之类的启动组件等)组合而成的。存储库内的平台不可编辑。工作空间内的平台可编辑,称为平台工程
平台工程
平台工程可以提供硬件信息和软件运行时环境。它可定制,您可添加域和修改域设置。平台工程可通过导入 XSA 或者通过导入现有平台的方式来创建。在同一个平台工程上可以创建多个系统工程,以便共享硬件和软件环境设置。
域即板级支持包 (BSP) 或操作系统 (OS),其中包含软件驱动程序集合,您可在其中构建自己的应用。创建的软件镜像仅包含赛灵思库中的部分内容,即您在自己的嵌入式设计中使用的部分。您可创建多个应用并在同一个域上运行。在平台中,每个域都绑定到单个处理器或者一个由同构处理器组成的集群(例如:A53_0 或 A53)。
系统工程
系统工程用于将任一器件上同时运行的应用组合在一起。在系统工程中,同一个处理器的两个独立应用不能组合在一起。在系统工程中,2 个 Linux 应用可以组合在一起。每个工作空间均可包含多个系统工程。
应用(软件工程)
每个软件工程包含一个或多个源文件以及必要的头文件,以允许编译和生成二进制输出 (ELF) 文件。每个系统工程均可包含多个应用工程。每个软件工程都必须包含一个对应的域。
Vitis 平台具有多种不同配置以支持不同用例,如下所述:
嵌入式
此平台支持 Arm® 处理器和 MicroBlaze™ 处理器的嵌入式软件开发。
嵌入式加速
除嵌入式软件开发外,在此类型的平台上还支持应用加速。此平台可提供时钟、总线接口和中断控制器以供应用内核使用。
数据中心加速
加速内核与 x86 主机应用均可在此平台上开发。此内核通过使用 PCIe® 总线来进行控制。

以下是 Zynq UltraScale+ MPSoC 的典型 Vitis 软件开发工作空间示例。

图 2. Zynq UltraScale+ MPSoC 的 Vitis 软件开发工作空间示例
  • 用户可以为 Arm® Cortex®-A53 SMP 集群创建 Linux 集群。可以基于 Linux 域的 sysroot 所提供的库来编译和链接 Linux 应用。
  • Arm Cortex-A53 核 0 与 Arm Cortex®-R5F 核 0 可以同时运行 Hello World 应用,这两个应用可组合到同一个系统工程内。
  • Arm Cortex-A53 核 0 上的裸机内置自检应用可以在自有系统工程内运行并采用自有 BSP 设置。
  • Zynq UltraScale+ MPSoC 器件上,这些系统工程在不同时间运行。任一系统工程内的应用则同时运行。
  • FSBL 和 PMU 固件等启动组件可以在平台工程内自动创建。启动组件具有自己的 BSP 设置。