AMD Adaptive SoC Embedded Software Ecosystem

Schnelle Innovation und Konnektivität durch Software

Das AMD Embedded Software Ecosystem ermöglicht Entwicklern, ihren Weg von der Idee zu marktreifen Embedded-Systemen zu beschleunigen. Mit einer umfassenden Suite von Tools, Laufzeiten und Umgebungen ist dieses Ökosystem darauf zugeschnitten, die Funktionen des Embedded-Produktportfolios von AMD nahtlos zu nutzen, darunter AMD Zynq™ 7000 SoCs, Zynq UltraScale+™ MPSoCs, Versal™ Adaptive SoCs, AMD MicroBlaze™ Prozessor und MicroBlaze V Prozessorkerne. Unser Angebot basiert auf fortschrittlichen Funktionen, darunter wegweisende Treiber für Sicherheits- und Virtualisierungssoftware, die sich in die Struktur von AMD Zynq- und Versal-Chips einfügen. Diese Synergie ermöglicht es, intelligente, miteinander verbundene und unterschiedliche Systeme zu entwickeln, die den Anforderungen moderner Embedded-Anwendungen gerecht werden.

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

Build- und Entwicklungstools

Linux

AMD Linux ist das häufigste Betriebssystem, das von AMD Produkten verwendet wird. AMD stellt die PetaLinux Tools für einen vereinfachten Linux-Entwicklungsablauf sowie Quellcode und Yocto-Rezeptdateien aus unserem GIT-Repository bereit, sodass Linux-Unterstützung für AMD Chips über interne Build-Systeme oder Tools von Drittanbietern bereitgestellt werden kann. Das AMD Linux-Projekt ist ein maßgeschneidertes, nicht kommerzielles Linux-Entwicklungsprojekt, das auf die Entwicklung von AMD Versal™ Adaptive SoCs, Zynq™ UltraScale™ MPSoCs, Zynq 7000 SoCs und MicroBlaze™-Prozessoren zugeschnitten ist.

Die Unterstützung für den Linux-Kernel für AMD Versionen umfasst Folgendes:

  • 2023.x ist v6.1
  • 2022.x ist v5.15
  • 2021.x ist v5.10

Build-Tools

AMD bietet zwei Tools für die Entwicklung und Implementierung eingebetteter Linux-Lösungen. Dies sind PetaLinux von AMD und das Open-Source-Projekt von Yocto. PetaLinux bietet dem Benutzer eine grafische Benutzeroberfläche, um schnell ein eingebettetes Linux-Image zu erstellen, und Yocto kann von erfahreneren Benutzern verwendet werden, um Linux für ihre Platinen anzupassen.

AMD Produkte werden von einer umfassenden Auswahl von Open-Source-Ressourcen unterstützt, um Linux-basierte Anwendungen für eine AMD SoC- oder Emulationsplattform zu entwickeln, zu starten, auszuführen, zu debuggen und zu warten. Wir bieten Beispielanwendungen, Kernel-Konfigurationen, Yocto-Rezepte, Multiprocessing- und Echtzeitlösungen sowie Gerätetreiber. Linux Open-Source-Entwickler finden vertraute Quellen, Tools und Unterstützungsforen, um mit anderen zu lernen, zu entwickeln und zu interagieren, die ähnliche Interessen, Bedürfnisse und Leidenschaften haben.

Entwicklungstools

Die vereinheitlichte Softwareplattform Vitis™, das AMD Software Development Kit (SDK) und die Ökosystem-Partner-Tools bieten eine große Auswahl an Entwicklungsumgebungen, die eine SoC-ähnliche C/C++-Programmierung der Zynq- und Versal-Plattformen ermöglichen.

AMD Softwareumgebungen

  • Vitis Unified Software Platform: integrierte Softwareentwicklung für Zynq UltraScale+™ MPSoC- und RFSoC- und Versal Adaptive SoC-Chips.
  • Software Development Kit (SDK): Design und Debugging für Zynq 7000 SoCs, Zynq UltraScale+ MPSoCs und MicroBlaze Prozessoren.
    (Hinweis: Seit Januar 2019 ist SDK als Legacy-Tool klassifiziert und wird nicht mehr aktualisiert.)

RTOS und Bibliothekenpartner

RTOS, Hypervisoren und Bare-Metal

RTOS

„Ein Echtzeitbetriebssystem (RTOS) ist dazu bestimmt, Echtzeitdaten von Anwendungsprozessen direkt beim Eingang bereitzustellen, in der Regel ohne Verzögerungen beim Zwischenpuffern.“ (Nach englischem Artikel auf wikipedia.org)

Die wichtigsten Faktoren eines RTOS sind, dass es einfach und leicht ist. Weitere Faktoren sind minimale Interrupt-Latenz und Kontext-Switch-Latenz. Ein RTOS wird eher dafür geschätzt, wie schnell und deterministisch es reagieren kann, als für die Komplexität, die es bewältigen kann.

FreeRTOS

FreeRTOS ist ein marktführendes RTOS von Amazon Web Services, das mehr als 35 Architekturen unterstützt und 2017 alle 3 Minuten heruntergeladen wurde. Es wurde professionell entwickelt, unterliegt einer strengen Qualitätskontrolle, ist robust, wird unterstützt und kann kostenlos in kommerzielle Produkte integriert werden, ohne dass Ihr proprietärer Quellcode offen gelegt werden muss (Referenz: https://www.freertos.org/RTOS.html).

Weitere Informationen zu FreeRTOS finden Sie unter https://www.freertos.org/RTOS.html.

Ein FreeRTOS-Kernel-Port ist für die folgenden adaptiven AMD SoCs, FPGAs und SOMs verfügbar

Weitere Informationen und Unterstützungsressourcen für FreeRTOS zu AMD Produkten finden Sie unter AMD FreeRTOS

Prozessor Gerät
64-Bit Arm® Cortex®-A72 Anwendungsprozessoreinheit (APU) und 32-Bit Cortex-R5 Echtzeitprozessoreinheit (RPU) Adaptive Versal™ SoC-Chips  
64-Bit Arm Cortex-A53 Anwendungsprozessoreinheit (APU) und 32-Bit Cortex-R5 Echtzeitprozessoreinheit (RPU) Zynq™ UltraScale+™ MPSoC-Chips und Kria™ SOMs
32-Bit ARM Cortex-A9 Anwendungsprozessoreinheit (APU) Zynq 7000 SoC-Chips
32-Bit MicroBlaze™-Prozessor Alle Chip-Familien von AMD

RTOS-Unterstützung von AMD und Ökosystem-Partnern

Anbieter Produkt Zynq 7000 SoC Zynq UltraScale+ MPSoC Adaptive Versal SoCs MicroBlaze
Cortex-A9 Cortex-A53 Cortex-R5 VCU Mali-400 Cortex-A72 Cortex-R5F AIE
AMD Bare-Metal J J1 J J J J J J J
AMD FreeRTOS J J1 J N N J J J J
BlackBerry QNX Neutrino J J N J J J N N N
QNX OS for Safety J J N J J J N N N
Wind River VxWorks J J J N J J J N N
Green Hills INTEGRITY-178 N J N N N J N N N
INTEGRITY J J N N N J N N N
u-velOsity N N J N N N J3 N N
Siemens Nucleus J J J N N N J4 N N
PX5 PX5 RTOS N J J N N N N N J
Microsoft Azure RTOS J J J N N N N N J
ETAS ETAS RTA-OS J J J N N N N N N
Sysgo PikeOS J J N N N N N N N
PikeOS for MPU N N J N N N N N N
Lynx LynxOS-178 N J N N N N N N N
Weston Embedded Cesium Cs/OS2, OS3 J J J N N N N N N
DDC-I Deos J J N

N N N N N N
RTEMS RTEMS J J J N N J J N J
eForce uC3 J1 J1 N

N N N N N N
ENEA OSE J J N

N N N N N N
eSOL eT-Kernel J J N N N N N N N
Silicon Labs Micrium uc/OS-II/OS-III5 J J1 J N N N N N N
Sciopta Sciopta RTOS J1 J1 J N N N N N N
Wittenstein SafeRTOS J1 N N N N N N N N
Segger embOS J1 N N N N N N N N

Die meisten RTOS bieten eine gewisse Zertifizierung für verschiedene Sicherheitsstandards. Wenden Sie sich an den Betriebssystemanbieter, um zu ermitteln, ob Ihre spezifischen Anforderungen erfüllt werden.
 

1. Keine SMP-Unterstützung

2. Micrium befindet sich im Wartungsmodus. Weston Embedded führt das Betriebssystem unter der Marke Cesium weiter.

3. Architektur-Support-Package

4. In der Entwicklung

5. Nur ältere Versionen, wenden Sie sich für Unterstützung an Weston Embedded


Weitere Informationen und unterstützende Ressourcen finden Sie im AMD Wiki unter: Embedded Software Ecosystem.

Virtualisierung und Hypervisoren

AMD stellt seinen Kunden und Partnern Schlüsseltechnologien, Dokumentation und Unterstützung zur Verfügung, um fortschrittliche Systemdesigns mit mehreren Betriebssystemen für unsere Produkte zu ermöglichen. Zu den Angeboten unseres Ökosystems gehören:

1. Erfordert Servicevertrag

Weitere Informationen und unterstützende Ressourcen finden Sie im AMD Wiki unter: Embedded Software Ecosystem.

Bare-Metal und Bibliotheken

AMD stellt zusätzliche Bibliotheken und Bare-Metal-Treiber bereit. Diese Bibliotheken wurden speziell für AMD Chips entwickelt.

Weitere Informationen und Support-Ressourcen für Bare-Metal-Treiber und -Bibliotheken finden Sie im AMD Wiki unter: Bare-Metal und Bibliotheken.

  • Bibliotheken

    Iwip

    Netzwerk-TCP/IP-Stack

    xilisf

    Flash

    Eigenständiges BSP

    Board Support Package

    xilffs

    FAT-Dateisystem

    xilfpga

    PL/FPGA-Management (Bitstream Loading)

    xilskey

    Sicherheits-xilsecu

    xilsecure

    Sicherheit

    xilrsa

    Sicherheit

Embedded Linux

Open-Source-Linux ist das beliebteste Betriebssystem, das auf eingebetteter Hardware ausgeführt wird, und AMD bietet seit der Einführung des AMD Virtex™-II Pro FPGA im Jahr 2001 Unterstützung für Linux auf seinen FPGA- und adaptiven SoC-Chips. Neben PetaLinux- und Yocto-Build-Umgebungen bietet AMD kommerzielle Unterstützung für AMD Chips von mehreren Drittanbietern, darunter Certified Ubuntu von Canonical Ltd.

Yocto

Im Yocto-Projekt heißt es: „Das Yocto-Projekt ist ein Open-Source-Kooperationsprojekt, das Entwicklern dabei hilft, benutzerdefinierte Linux-basierte Systeme für Embedded-Produkte zu erstellen, unabhängig von der Hardware-Architektur. Das Projekt bietet eine flexible Auswahl von Tools und einen Bereich, in dem Embedded-Entwickler weltweit Technologien, Software-Stacks, Konfigurationen und Best Practices gemeinsam nutzen können, mit denen maßgeschneiderte Linux-Images für Embedded-Chips erstellt werden können.“

PetaLinux

PetaLinux Tools bieten alles, was Sie für die Anpassung, Erstellung und Evaluierung von Embedded-Linux-Lösungen auf AMD Verarbeitungssystemen benötigen. Die Lösung ist auf die Beschleunigung der Designproduktivität zugeschnitten und arbeitet mit den Hardware-Designtools von AMD zusammen, um die Entwicklung von Linux-Systemen für Versal™ Adaptive SoCs, Zynq™ UltraScale+™ MPSoCs, Zynq 7000 SoCs und MicroBlaze™-Prozessoren zu vereinfachen.

Linux

Anbieter Produkt Distribution Adaptive Versal SoCs Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD PetaLinux Yocto J J J J
Yocto Yocto J J J J
Canonical Ubuntu Debian J1 J N N
Wind River Wind River Linux Yocto J J J N
Foundries.io FoundriesFactory Yocto J J N N
Siemens Sokol Flex OS Yocto N J J N
Sokol Omni OS Debian N J N N
TimeSys Linux-Services Yocto J J J N
MontaVista CGX/CGE Yocto N J J N
ArchLinuxARM ArchLinuxARM k. A. N N J N

1. Beta-Version für VCK190

Weitere Informationen und unterstützende Ressourcen finden Sie im AMD Wiki unter: Embedded Software Ecosystem.

Open-Source-Projekte

QEMU

QEMU (Quick Emulator) ist ein plattformübergreifender Open-Source-Systememulator. Es handelt sich um eine ausführbare Datei, die auf einem x86-Linux-Betriebssystem ausgeführt wird. QEMU kann ein vollständiges System emulieren (allgemein als Gast bezeichnet), z. B. eine AMD ZCU102- oder VCK190-Platine.

Die Emulation umfasst die Prozessoren, Peripheriegeräte und andere Hardware auf der Entwicklungsplatine, sodass Sie ein Betriebssystem oder andere Anwendungen auf der virtualisierten Hardware starten können.

QEMU kann auch über Schnittstellen wie CAN, Ethernet und USB mit dem Host-Computer interagieren, sodass reale Daten vom Host in Echtzeit auf der Gastmaschine verwendet werden können.

Xen Hypervisor

Xen ist ein Typ-1-Hypervisor, der vom Xen-Projekt definiert, verwaltet und der Open-Source-Community bereitgestellt wird. Xen ermöglicht die Ausführung mehrerer Instanzen von Betriebssystemen oder Bare-Metal-Anwendungen auf AMD Zynq™ UltraScale+™ MPSoCs. Weitere Informationen zum Xen-Hypervisor finden Sie auf der Einführungsseite zum Xen-Projekt.

U-Boot

U-Boot ist ein Open-Source Universal Boot Loader, der in der Linux-Community häufig verwendet wird. AMD stellt einen GIT-Baum unter https://github.com/Xilinx/u-boot-xlnx bereit, der einen U-Boot für die Ausführung auf AMD Platinen enthält.

Arm Trusted Firmware

Arm® Trusted Firmware bietet eine Referenz auf sichere Software für die ARMv8-A-Architektur sowie Implementierungen verschiedener Schnittstellenstandards wie PSCI (Power State Coordination Interface) und Secure Monitor Code für die Schnittstelle zu normaler Software. Der AMD Arm Trusted Firmware-Port ist veröffentlicht und verfügbar unter https://github.com/Xilinx/arm-trusted-firmware.

Support und Ressourcen