AMD 自适应 SoC 嵌入式软件生态系统

通过软件实现快速创新与连接

AMD 嵌入式软件生态系统助力开发人员加速从构想到市场就绪型嵌入式系统的进程。该生态系统配备完整的工具、运行时和环境,可无缝利用 AMD 嵌入式器件产品组合的强大功能,包括 AMD Zynq™ 7000 SoC、Zynq UltraScale+ MPSoC、Versal™ 自适应 SoC、AMD MicroBlaze™ 处理器MicroBlaze V 处理器核。我们的解决方案基于一系列先进技术构建,包括深度集成于 AMD Zynq 和 Versal 器件架构中的创新性安全防护与虚拟化软件驱动程序。这种协同效应开启了无限可能,使我们能够打造出巧妙、互联且独特的系统,以满足现代嵌入式应用的需求。

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

构建及开发工具

Linux

AMD Linux 是 AMD 产品中应用极为广泛的操作系统。AMD 提供用于简化 Linux 开发流程的 PetaLinux 工具,以及 GIT 库中的源代码和 Yocto 方案文件,以便通过内部构建系统或第三方工具提供对 AMD 芯片的 Linux 支持。AMD Linux 项目是一个定制的非商业 Linux 开发项目,面向基于 AMD Versal™ 自适应 SoCZynq™ UltraScale™ MPSoCZynq 7000 SoCMicroBlaze™ 处理器的开发。

AMD 发布版本所支持的 Linux 内核情况如下:

  • 2023.x 对应 v6.1
  • 2022.x 对应 v5.15
  • 2021.x 对应 v5.10

构建工具

AMD 提供两种工具来构建和部署嵌入式 Linux 解决方案。它们是 AMD 的 PetaLinuxYocto 的开源项目。PetaLinux 为用户提供一个 GUI 来快速构建嵌入式 Linux 镜像,经验更丰富的用户可使用 Yocto 为其开发板定制 Linux。

AMD 产品由一系列完整的开源资源提供支持,可为 AMD SoC 或仿真平台开发、启动、运行、调试和维护基于 Linux 的应用。我们提供示例应用、内核结构、Yocto 方案、多处理与实时解决方案以及器件驱动程序。Linux 开源开发者将找到熟悉的资源、工具和支持论坛,在这里他们可以进行学习、开发并与其他有相同兴趣、需求和爱好的人士进行互动交流。

开发工具

Vitis™ 统一软件平台、AMD 软件开发套件 (SDK) 和 Ecosystem 合作伙伴工具提供广泛的开发环境选择,支持在 Zynq 和 Versal 平台上进行类似 SoC 的 C/C++ 编程。

AMD 软件环境

  • Vitis 统一软件平台 - 用于 Zynq UltraScale+™ MPSoC 和 RFSoC 以及 Versal 自适应 SoC 器件的嵌入式软件开发。
  • 软件开发套件 (SDK) - 设计和调试 Zynq 7000 SoC、Zynq UltraScale+ MPSoC 和 MicroBlaze 处理器。
    (注意:自 2019.1 版本起,SDK 被归为旧版工具,将不再更新。)

RTOS 和库合作伙伴

RTOS、管理程序和裸机

RTOS

“实时操作系统 (RTOS) 是一种用于在实时应用处理数据传入时为其提供服务的操作系统 (OS),通常没有缓冲延迟。”(wikipedia.org)

RTOS 的关键因素是保持其简洁和轻量化。其他因素还包括:尽可能低的中断延迟以及尽可能低的上下文切换延迟。RTOS 的价值更多在于它的响应速度和确定性,而不是它所能处理的复杂任务。

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
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 为不同的安全标准提供一定程度的认证。请咨询操作系统供应商,确定其是否有特定需求。
 

1.无 SMP 支持

2.Micrium 处于维护专用模式下。Weston Embedded 正以 Cesium 品牌继续开发和维护该操作系统。

3.架构支持包

4.正在开发中

5.仅限原有操作系统,请联系 Weston Embedded 获得支持


有关更多信息和支持资源,请访问 AMD Wiki,网址为:嵌入式软件生态系统

虚拟化和管理程序

AMD 为客户与合作伙伴提供关键技术、文档和支持服务,助力其基于我们的产品实现先进多操作系统的系统设计。来自我们生态系统的产品包括:

1.需要服务合同

有关更多信息和支持资源,请访问 AMD Wiki,网址为:嵌入式软件生态系统

裸机与库

AMD 还提供其他库和裸机驱动程序。这些库专门针对 AMD 器件开发。

有关裸机驱动程序和库的更多信息和支持资源,请访问 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 还提供商业支持,帮助用户使用包括 Canonical Ltd. 的 Certified Ubuntu 在内的多种第三方供应商提供的工具来开发 AMD 器件。

Yocto

正如 Yocto 项目所述:“Yocto 项目是一个开源协作项目,旨在帮助开发者为嵌入式产品构建基于 Linux 的定制系统,且不受硬件架构限制。该项目提供了一套灵活的工具链和一个全球化协作平台,使嵌入式开发者能够共享技术方案、软件栈、系统配置及最佳实践,用以构建针对嵌入式设备的定制化 Linux 镜像系统。”

PetaLinux

PetaLinux 工具提供在 AMD 处理系统上定制、构建和评估嵌入式 Linux 解决方案的各种工具。该解决方案专为提高设计效率量身打造,与 AMD 硬件设计工具配合使用,可针对 Versal™ 自适应 SoC、Zynq™ UltraScale+™ MPSoC、Zynq 7000 SoC 和 MicroBlaze™ 处理器简化 Linux 系统的开发。

Linux

提供商 产品 分发 Versal 自适应 SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD 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

1.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 提供 ARMv8-A 架构的安全软件参考、诸如电源状态协调接口 (PSCI) 等各种接口标准的实现方案,以及用于连接普通域软件的安全监控代码。AMD Arm Trusted Firmware 端口已发布并可从 https://github.com/Xilinx/arm-trusted-firmware 获取。

支持和资源