AMD 自适应 SoC 嵌入式软件生态系统
通过软件实现快速创新与连接
AMD 嵌入式软件生态系统助力开发人员加速从构想到市场就绪型嵌入式系统的进程。该生态系统配备一整套工具、运行时和环境,可无缝利用 AMD 嵌入式器件产品组合的强大功能,包括 AMD Zynq™ 7000 SoC、Zynq UltraScale+™ MPSoC、Versal™ 自适应 SoC、MicroBlaze™ 处理器和 MicroBlaze V 处理器核。我们的解决方案基于一系列先进技术构建而成,包括深度集成于 Zynq 和 Versal 器件架构中的创新安全防护与虚拟化软件驱动程序。这种协同效应开启了无限可能,使我们能够打造出巧妙、互联且独特的系统,以满足现代嵌入式应用的需求。
构建及开发工具
Linux
Linux® 是 AMD 产品中应用极为广泛的操作系统。AMD 提供 EDF Linux OS 和嵌入式开发框架 (EDF),这是一种基于 Yocto Project™ 的开发环境和 Linux 发行版,其中包含 GIT 库中的源代码和 Yocto 方案文件,可通过内部构建系统或第三方工具为 AMD 芯片提供 Linux 支持。EDF Linux OS 是定制化、非商业的 Linux 开发项目,旨在帮助加速基于 AMD Versal™ 自适应 SoC、Zynq™ UltraScale™ MPSoC、Zynq 7000 SoC 和 MicroBlaze™ 处理器的开发。
AMD EDF 发布版本中的 Linux 内核支持与 LTS 内核保持同步。
构建工具
AMD 目前提供两款工具用于构建和部署嵌入式 Linux 解决方案。第一款工具是 AMD EDF,该工具基于开源 Yocto Project™ 而构建;第二款工具是 PetaLinux,它正逐渐被 AMD EDF 取代。这两种工具都能快速构建嵌入式 Linux 镜像,而 EDF 还支持更高级的应用场景。
开发工具
AMD Vitis™ 统一软件平台、软件开发套件 (SDK) 和生态系统合作伙伴工具提供广泛的开发环境选择,支持在 Zynq 和 Versal 平台上进行类似 SoC 的 C/C++ 编程。
AMD 软件环境
- Vitis 统一软件平台 - 适用于 Zynq UltraScale+ MPSoC 和 RFSoC 以及 Versal 自适应 SoC 器件的嵌入式软件开发平台。
- 软件开发套件 (SDK) - 设计和调试 Zynq 7000 SoC、Zynq UltraScale+ MPSoC 和 MicroBlaze 处理器。
生态系统软件开发与工具
RTOS 和库合作伙伴
RTOS、管理程序和裸机
Zephyr Project RTOS
Zephyr Project 是一个可扩展的实时操作系统 (RTOS),支持多种硬件架构,针对资源受限的器件进行了优化,并在设计时充分考虑了安全性因素。
Zephyr OS 基于一个小型内核,专为资源受限的系统而开发,涵盖从简单的嵌入式环境传感器和 LED 可穿戴设备,到复杂的智能手表以及物联网无线网关等各种应用。
关于 Zephyr Project 的更多信息,请访问: https://www.zephyrproject.org/
关于 AMD Zephyr Project 库,请访问: https://github.com/Xilinx/zephyr-amd
FreeRTOS
FreeRTOS 是 Amazon Web Services 旗下出色的 RTOS,支持 35 个以上的架构,并且在 2017 年期间平均每 3 分钟就被下载一次。它经过专业开发与严格质量控制,具有高可靠性,提供官方技术支持,并允许免费嵌入商业产品,且无需公开专有源代码(参考:https://www.freertos.org/RTOS.html)。
有关 FreeRTOS 的更多信息,请访问 https://www.freertos.org/RTOS.html。
FreeRTOS 内核端口适用于以下 AMD 自适应 SoC、FPGA 和 SOM
有关 AMD 产品上 FreeRTOS 的更多信息和支持资源,请访问 AMD FreeRTOS
| 处理器 | 器件 |
|---|---|
| 64 位 Arm® Cortex®-A72 应用处理器单元 (APU) 和 32 位 Cortex-R5 实时处理器单元 (RPU) | Versal 自适应 SoC |
| 64 位 Arm Cortex-A53 应用处理器单元 (APU) 和 32 位 Cortex-R5 实时处理器单元 (RPU) | Zynq UltraScale+ MPSoC 和 Kria™ SOM |
| 32 位 Arm Cortex-A9 应用处理器单元 (APU) | Zynq 7000 SoC 器件 |
| 32 位 MicroBlaze 处理器 | 所有 AMD 器件系列 |
AMD 及生态系统合作伙伴提供的 RTOS 支持
| 提供商 | 产品 | Zynq 7000 SoC | Zynq UltraScale+ MPSoC | Versal 自适应 SoC | MicroBlaze | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Cortex-A9 | Cortex-A53 | Cortex-R5 | VCU | Mali-400 | Cortex-A72 | Cortex-R5F | AIE | |||
| AMD | 裸机 | Y | Y1 | Y | Y | Y | Y | Y | Y | Y |
| AMD | FreeRTOS | Y | Y1 | Y | N | N | Y | Y | Y | Y |
| AMD | Zephyr6 | N | Y4 | Y4 | Y4 | Y4 | ||||
| BlackBerry | QNX Neutrino | Y | Y | N | Y | Y | Y | N | N | N |
| QNX OS for Safety | Y | Y | N | Y | Y | Y | N | N | N | |
| Wind River | VxWorks | Y | Y | Y | N | Y | Y | Y | N | N |
| Green Hills | INTEGRITY-178 | N | Y | N | N | N | Y | N | N | N |
| INTEGRITY | Y | Y | N | N | N | Y | N | N | N | |
| u-velOsity | N | N | Y | N | N | N | Y3 | N | N | |
| Siemens | Nucleus | Y | Y | Y | N | N | N | Y4 | N | N |
| PX5 | PX5 RTOS | N | Y | Y | N | N | N | N | N | Y |
| Microsoft | Azure RTOS | Y | Y | Y | N | N | N | N | N | Y |
| ETAS | ETAS RTA-OS | Y | Y | Y | N | N | N | N | N | N |
| Sysgo | PikeOS | Y | Y | N | N | N | N | N | N | N |
| PikeOS for MPU | N | N | Y | N | N | N | N | N | N | |
| Lynx | LynxOS-178 | N | Y | N | N | N | N | N | N | N |
| Weston Embedded | Cesium Cs/OS2, OS3 | Y | Y | Y | N | N | N | N | N | N |
| DDC-I | Deos | Y | Y | N |
N | N | N | N | N | N |
| RTEMS | RTEMS | Y | Y | Y | N | N | Y | Y | N | Y |
| eForce | uC3 | Y1 | Y1 | N |
N | N | N | N | N | N |
| ENEA | OSE | Y | Y | N |
N | N | N | N | N | N |
| eSOL | eT-kernel | Y | Y | N | N | N | N | N | N | N |
| Silicon Labs | Micrium uc/OS-II / OS-III5 | Y | Y1 | Y | N | N | N | N | N | N |
| Sciopta | Sciopta RTOS | Y1 | Y1 | Y | N | N | N | N | N | N |
| Wittenstein | SafeRTOS | Y1 | N | N | N | N | N | N | N | N |
| Segger | emBOS | Y1 | N | N | N | N | N | N | N | N |
大多数 RTOS 都针对不同的安全标准提供一定程度的认证。请咨询操作系统供应商,确定其是否有特定需求。
- 无 SMP 支持
- Micrium 处于维护专用模式下。Weston Embedded 正以 Cesium 品牌继续开发和维护该操作系统。
- 架构支持包
- 正在开发中
- 仅限原有操作系统,请联系 Weston Embedded 获得支持
- Zephyr OS 概述(面向基于 Arm 的 AMD 嵌入式硬件平台)
有关更多信息和支持资源,请访问 AMD Wiki:嵌入式软件生态系统。
虚拟化和管理程序
AMD 为客户与合作伙伴提供关键技术、文档和支持服务,助力其基于我们的产品实现先进多操作系统的系统设计。来自我们生态系统的产品包括:
| 供应商 | 产品 | Versal 自适应 SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC |
|---|---|---|---|---|
| AMD | Xen Hypervisor | Y | Y | N |
| BlackBerry | QNX Hypervisor | Y | Y | N |
| Wind River | Helix Virtualization Platform | Y | Y | N |
| Sysgo | PikeOS Hypervisor | N | Y | Y |
| Green Hills | Integrity Multivisor | Y1 | Y1 | N |
| Lynx | LynxSecure Separation Kernel Hypervisor | Y | Y | N |
| Dornerworks | SEL4 | Y | Y | N |
| Siemens | Nucleus Hypervisor | N | Y | Y |
| General Dynamics Mission Systems | OKL4 Microvisor | N | Y | N |
- 需要服务合同
有关更多信息和支持资源,请访问 AMD Wiki:嵌入式软件生态系统。
库
- Iwip:网络 TCP/IP Stack
- xilisf:闪存
- 独立 BSP:板级支持包
- xilffs:FAT 文件系统
- xilfpga:PL/FPGA 管理(比特流加载)
- xilskey:安全性 xilsecu
- xilsecure:安全性
- xilrsa:安全性
嵌入式 Linux
开源 Linux 是嵌入式硬件上应用极为广泛的操作系统。自 2001 年推出 AMD Virtex™ II Pro FPGA 以来,AMD 便持续为其 FPGA 和自适应 SoC 器件提供 Linux 支持。除了 PetaLinux 和 Yocto 构建环境之外,AMD 还携手多家第三方供应商提供面向 AMD 器件的商业支持,包括 Canonical Ltd. 提供的 Certified Ubuntu® 支持。
AMD 嵌入式开发框架 (EDF) 和 Yocto Project™
正如 Yocto 项目所述:“Yocto 项目是一个开源协作项目,旨在帮助开发者为嵌入式产品构建基于 Linux 的定制系统,且不受硬件架构限制。该项目提供了一套灵活的工具链和一个全球化协作平台,使嵌入式开发者能够共享技术方案、软件栈、系统配置及最佳实践,用以构建适用于嵌入式器件的定制化 Linux 镜像。”AMD 嵌入式开发框架基于 Yocto Project 而构建。详细了解 AMD EDF。
AMD EDF 和 PetaLinux
两者均提供基于 AMD 处理系统定制、构建和评估嵌入式 Linux 解决方案所需的所有工具。PetaLinux 解决方案专为提高设计效率而打造,可与 AMD 硬件设计工具配合使用,帮助简化基于 Versal 自适应 SoC、Zynq UltraScale+ MPSoC、Zynq 7000 SoC 和 MicroBlaze 处理器的 Linux 系统开发流程。不过,PetaLinux 工具现已被 AMD EDF 所取代。有关更多信息,请参见 AMD PetaLinux 工具页面:
Linux
| 提供商 | 产品 | 分发 | Versal 自适应 SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC | MicroBlaze |
|---|---|---|---|---|---|---|
| AMD | AMD EDF | Yocto | Y | Y | Y | Y* *仅限 MicroBlaze V |
| PetaLinux | Yocto | Y | Y | Y | Y | |
| Yocto | Yocto | Y | Y | Y | Y | |
| Canonical | Ubuntu | Debian | Y1 | Y | N | N |
| Wind River | Wind River Linux | Yocto | Y | Y | Y | N |
| Foundies.io | FoundriesFactory | Yocto | Y | Y | N | N |
| Siemens | Sokol Flex OS | Yocto | N | Y | Y | N |
| Sokol Omni OS | Debian | N | Y | N | N | |
| TimeSys | Linux Services | Yocto | Y | Y | Y | N |
| MontaVista | CGX/CGE | Yocto | N | Y | Y | N |
| ArchLinuxARM | ArchLinuxARM | 不适用 | N | N | Y | N |
- VCK190 测试版
有关更多信息和支持资源,请访问 AMD Wiki:嵌入式软件生态系统。
开源项目
QEMU
QEMU (Quick EMUlator) 是一款跨平台的开源系统仿真工具。它是一个运行在 x86 Linux 操作系统上的可执行文件。QEMU 可仿真一套完整的系统(通常称为来宾系统),例如 AMD ZCU102 或 VCK190 开发板。
仿真包括开发板上的处理器、外设和其他硬件,允许您在虚拟化硬件上启动操作系统或其他应用。
此外,QEMU 还可通过 CAN、以太网和 USB 等接口与主��互动,从而使主机的真实数据能够在客户机上实时使用。
Xen Hypervisor
Xen 是由 Xen Project 针对开源社区定义、维护并提供的类型 1 管理程序。Xen 支持在 AMD Zynq UltraScale+ MPSoC 上运行多个操作系统或裸机应用实例。关于 Xen Hypervisor 的更多信息,请访问 Xen Project 入门页面。
U-Boot
U-Boot 是一款开源的通用启动加载程序,在 Linux 社区中经常使用。AMD 在 https://github.com/Xilinx/u-boot-xlnx 上提供了一个 GIT 树,其中包含可在 AMD 开发板上运行的 U-Boot。
Arm Trusted Firmware
Arm Trusted Firmware(Arm 可信固件)针对 ARMv8-A 架构下的安全软件提供参考,还提供诸如 PSCI (Power State Coordination Interface) 等多种接口标准的实现方案,以及用于对接普通世界软件的安全监控代码。AMD Arm Trusted Firmware 端口已发布并可从 https://github.com/Xilinx/arm-trusted-firmware 获取。