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 und adaptive Versal™ SoCs, 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 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

Linux® ist das häufigste Betriebssystem, das von AMD Produkten verwendet wird. AMD bietet EDF Linux OS und das Embedded Development Framework (EDF), eine Yocto Project™-basierte Umgebung und Linux-Distribution, die Quellcode und Yocto Rezeptdateien aus unserem GIT-Repository enthält, wodurch Linux-Unterstützung für AMD Chips über interne Build-Systeme oder Tools von Drittanbietern ermöglicht wird. EDF Linux OS ist ein maßgeschneidertes, nicht kommerzielles Linux-Entwicklungsprojekt, das für die Entwicklung von adaptiven Versal™ SoCs, Zynq™ UltraScale™ MPSoCs, Zynq 7000 SoCs und MicroBlaze™ Prozessoren von AMD konzipiert ist.

Die Unterstützung des Linux-Kernels in AMD EDF-Versionen verfolgt den LTS-Kernel. 

Build-Tools

AMD bietet derzeit zwei Tools für die Entwicklung und Bereitstellung eingebetteter Linux-Lösungen. Das erste ist AMD EDF, das auf dem Open-Source Yocto Project™ basiert, und das zweite ist PetaLinux, das durch AMD EDF ersetzt wird. Beide Tools bieten eine schnelle Möglichkeit, ein eingebettetes Linux-Image zu erstellen, wobei EDF auch erweiterte Anwendungsfälle unterstützt. 

Entwicklungstools

Die vereinheitlichte Softwareplattform AMD Vitis™, das 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

RTOS und Bibliothekenpartner

RTOS, Hypervisoren und Bare-Metal

Zephyr Project RTOS

Das Zephyr Project ist ein skalierbares Echtzeit-Betriebssystem (RTOS), das mehrere Hardwarearchitekturen unterstützt, für ressourcenbeschränkte Chips optimiert und mit Blick auf Sicherheit entwickelt wurde.

Das Zephyr OS basiert auf einem kleinen Kernel, der für den Einsatz auf ressourcenbeschränkten Systemen konzipiert wurde: von einfachen eingebetteten Umgebungssensoren und LED-Wearables bis hin zu hochentwickelten Smartwatches und IoT-Wireless-Gateways.

Weitere Informationen zum Zephyr Project finden Sie unter:  https://www.zephyrproject.org/

Das Zephyr Project Repository von AMD finden Sie unter:  https://github.com/Xilinx/zephyr-amd

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 fortlaufend unterstützt und kann kostenlos in kommerzielle Produkte integriert werden, ohne dass Ihr proprietärer Quellcode offengelegt 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 SoCs
64-Bit Arm Cortex-A53 Anwendungsprozessoreinheit (APU) und 32-Bit Cortex-R5 Echtzeitprozessoreinheit (RPU) Zynq UltraScale+ MPSoCs 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 Ökosystempartnern

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
AMD Zephyr6 N J4 J4     J4 J4    
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
  6. Zephyr OS-Übersicht für AMD Arm-basierte Embedded-Hardwareplattformen


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.

AMD Embedded Development Framework (EDF) und Yocto Project™

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.“ Das AMD Embedded Development Framework basiert auf dem Yocto Project. Mehr über AMD EDF erfahren. 

AMD EDF und PetaLinux

Beide Flows 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 adaptive Versal SoCs, Zynq UltraScale+ MPSoCs, Zynq 7000 SoCs und MicroBlaze Prozessoren zu vereinfachen. Die PetaLinux-Tools wurden jedoch inzwischen durch AMD EDF ersetzt. Weitere Informationen finden Sie auf der Seite AMD PetaLinux Tools

Linux

Anbieter Produkt Distribution Adaptive Versal SoCs Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD AMD EDF Yocto J J J Y* * nur MicroBlaze V
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