Vitis 软件平台中的工作空间结构 - 2023.2 简体中文

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

Document ID
UG1400
Release Date
2023-12-13
Version
2023.2 简体中文

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

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

以下是 AMD 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 设置。
  • 这些系统工程用于管理多个应用组件。在单个系统工程中添加多个应用组件意味着这些应用将同时运行。如果每次仅运行一个应用,则无需系统工程。
  • FSBL 和 PMU 固件等启动组件可以在平台工程内自动创建。启动组件具有自己的 BSP 设置。