启动和操作系统 - 2023.2 简体中文

Versal 自适应 SoC 系统和解决方案规划方法指南 (UG1504)

Document ID
UG1504
Release Date
2023-11-15
Version
2023.2 简体中文

Versal 器件具有集中平台管理控制器 (PMC) 用于在上电复位之后启动器件。Versal 器件支持不同启动模式,包括主启动模式(JTAG、SD、eMMC、OSPI、QSPI、SelectMAP)和辅助启动模式 (PCIe)。根据启动时间要求,您必须选择相应的启动器件。

  • 基于 PCIe 的应用要求在系统上电后的 100 ms 内检测到端点,对于此类应用,请使用更快的启动器件,如 OSPI。可通过采用镜像分区,使最小启动镜像能够在 100 ms 内从 OSPI 启动模式完成启动,而较大的启动分区则可通过 PCIe 以串联 PCIe 启动模式来进行传输。
  • 请将 QSPI、SD 和 eMMC 启动器件用于一般嵌入式应用。请将 eMMC 启动模式用于需要更高密度的嵌入式应用。
  • 请将 JTAG 启动模式用于系统初始化和调试。要启用系统调试,请确保启动模式管脚设置为 JTAG 或者通过从 TAP 链配置启动模式寄存器来切换至 JTAG 启动模式。
  • 如果多个 Versal 器件需要单一外部启动控制解决方案,那么对于此类应用可使用 SelectMAP。

对于需要器件级安全性的应用,需实现 Versal 自适应 SoC 硬件所支持的启动镜像加密和身份验证。启用加密和身份验证后,系统启动时间会相应增加。如需了解更多信息,请参阅 AMD 网站上的设计安全性专区(需注册)中提供的 Versal 自适应 SoC 安全手册(UG1508) 非对称硬件信任根安全启动(XAPP1357) 对称硬件信任根安全启动(XAPP1358)。如需了解有关启动时间估算器的更多信息,请参阅技术支持页面。

Versal 自适应 SoC 闪存启动器件支持分区回退以避免出现灾难性的启动故障。在现场升级期间,如果升级后的镜像包含错误,那么 Platform Loader and Manager (PLM) 可回退至黄金镜像,以恢复启动模式。黄金镜像能够与其他升级镜像驻留在相同的启动器件内。

请根据您的具体应用用例来选择操作系统。如果应用需要缓冲器管理、锁定访问和中断处理且有多个进程并行运行,请使用 Linux 操作系统。这些应用可以利用 Linux 开源框架所提供的更高的抽象层。典型应用包括视频、 OpenCL™ 、OpenCV 和可利用 Linux 框架的网络栈。AMD 提供了 Linux 运行时支持,它使用 Xilinx Runtime (XRT) 栈来处理中断管理、内核启动与停止、缓冲器分配以及共享。XRT 能够与更高级别的软件栈(例如,OpenCL、OpenCV、FFmpeg 和基于 Python 的框架)进行交互。使用基于 Linux 的栈的缺点之一是栈开销不适合实时操作。并且,Linux 操作系统要求全功耗域 (FPD) 通电。需要省电的应用可使用能在低功耗域 (LPD) 下运行的 Arm Cortex-R5F 处理器。

需要实时处理的应用则可使用 Versal 自适应 SoC 中的 Arm Cortex-R5F 处理器,Arm Cortex-R5F 处理器符合 ASIL-C 安全规范。典型应用映射包括系统监控、硬件监控、直接硬件控制(使用轻量级栈)等。如需使用 Arm Cortex-R5F 处理器以保证应用的功能安全性,AMD 建议将应用代码置于紧密耦合存储器 (TCM) 内,而不是从 DDR 存储器访问此代码。Arm Cortex-R5F 处理器还可作为 Linux 操作系统的协同处理器来工作,用于监控特定硬件功能并向 Linux 应用提供硬件状态。Linux 操作系统与 Arm Cortex-R5F 上的 RTOS/裸机操作系统之间能够通过处理器间中断来进行通信。

Versal 器件支持虚拟化。您可针对使用虚拟机管理器的多个访客操作系统使用相同硬件。虚拟化硬件的中断处理开销耗时较长。虚拟化可能导致时延。如果您的应用对时延敏感,请勿使用虚拟化。