-
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
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.

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.
Vordefinierte und Open-Source-Images
Erstellung von Kernel- und Boot-Images
- Erstellung des Kernels
- Erstellung des Root-Dateisystems
- Erstellung des Linux-Gerätebaums
- Erstellung des U-Boot-Images
Echtzeit-Linux
Emulationsmodelle und Treiber
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.)
Entwicklung und Tools der Ecosystem Software
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:
Hersteller | Produkt | Adaptive Versal SoCs | Zynq UltraScale+ MPSoC | Zynq 7000 SoC |
---|---|---|---|---|
AMD | Xen Hypervisor | J | J | N |
BlackBerry | QNX Hypervisor | J | J | N |
Wind River | Helix Virtualization Platform | J | J | N |
Sysgo | PikeOS Hypervisor | N | J | J |
Green Hills | Integrity Multivisor | J1 | J1 | N |
Lynx | LynxSecure Separation Kernel Hypervisor | J | J | N |
Dornerworks | SEL4 | J | J | N |
Siemens | Nucleus Hypervisor | N | J | J |
General Dynamics Mission Systems | OKL4 Microvisor | N | J | N |
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.
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.