Guide méthodologique de conception embarqué UltraFast™
Ce guide est organisé autour d'importants domaines fonctionnels qui correspondent à des ensembles de compétences spécifiques au sein des équipes de développement.
L'écosystème software embarqué AMD permet aux développeurs d'accélérer leur transition de l'idée à des systèmes embarqués prêts à l'emploi. Avec une suite complète d'outils, de fournisseurs d'exécution et d'environnements, cet écosystème est conçu pour exploiter en toute fluidité les capacités du portefeuille de produits AMD Embedded, notamment les SoC AMD Zynq™ 7000, les MPSoC Zynq™ UltraScale+™, les SoC adaptatifs Versal™, le processeur MicroBlaze™ et les cœurs de processeur MicroBlaze V. Notre offre repose sur des fonctionnalités avancées, notamment des pilotes software de sécurité et de virtualisation novateurs, étroitement intégrés dans la structure des composants AMD Zynq et Versal. Cette synergie libère le potentiel de la création de systèmes ingénieux, interconnectés et distincts qui répondent aux exigences des applications embarquées modernes.
Linux® est le système d'exploitation le plus utilisé par les produits AMD. AMD fournit le système d'exploitation Linux EDF et Embedded Development Framework (EDF), un environnement et une distribution Linux basés sur le Yocto Project™. Avec le code source et les fichiers de recettes Yocto disponibles dans notre dépôt GIT, EDF permet de déployer facilement Linux sur les puces AMD, que ce soit via des systèmes de build internes ou des outils tiers. Le système d'exploitation EDF Linux est un projet de développement Linux personnalisé et non commercial conçu pour le développement de SoC adaptatifs AMD Versal™, de MPSoC Zynq™ UltraScale™, de SoC Zynq 7000 et de processeurs MicroBlaze™.
La prise en charge du noyau Linux dans les versions AMD EDF suit le noyau LTS.
AMD propose actuellement deux outils pour créer et déployer des solutions Linux embarquées. Le premier est AMD EDF, construit sur le Yocto Project™ open source, et le second est PetaLinux, qui est progressivement remplacé par AMD EDF. Les deux outils permettent de générer rapidement une image Linux embarquée, EDF offrant en plus la prise en charge de cas d'utilisation plus avancés.
Flux Linux open-source AMD :
La plateforme software unifiée AMD Vitis™, le kit de développement software AMD (SDK) et les outils partenaires de l'écosystème offrent un large choix d'environnements de développement qui permettent la programmation C/C++ de type SoC des plateformes Zynq et Versal.
RTOS, hyperviseurs et Bare Metal
Le Zephyr Project est un système d'exploitation temps réel (RTOS) évolutif, compatible avec plusieurs architectures hardware, optimisé pour les appareils aux ressources limitées et conçu avec la sécurité comme priorité.
Le système d'exploitation Zephyr est basé sur un noyau à faible empreinte mémoire, conçu pour les systèmes aux ressources limitées, des capteurs environnementaux simples et des objets connectés lumineux jusqu'aux montres connectées sophistiquées et aux passerelles IoT sans fil.
Pour plus d'informations sur le Zephyr Project, rendez-vous sur : https://www.zephyrproject.org/
Le dépôt du Zephyr Project d'AMD est disponible à l'adresse suivante : https://github.com/Xilinx/zephyr-amd
FreeRTOS est un système RTOS leader sur le marché d'Amazon Web Services qui prend en charge plus de 35 architectures et a été téléchargé une fois toutes les 3 minutes en 2017. Il est développé par des professionnels, strictement contrôlé en matière de qualité, robuste, pris en charge et peut être intégré à des produits commerciaux sans qu'il soit nécessaire d'exposer votre code source propriétaire (référence : https://www.freertos.org/RTOS.html).
Pour plus d'informations sur FreeRTOS, rendez-vous sur https://www.freertos.org/RTOS.html.
Vous trouverez plus d'informations et de ressources d'assistance pour FreeRTOS sur les produits AMD sur AMD FreeRTOS
| Processeur | Appareil |
|---|---|
| Unité de processeur d'application (APU) Arm® Cortex®-A72 64 bits et unité de processeur en temps réel (RPU) Cortex-R5 32 bits | SoC adaptatifs Versal |
| Unité de processeur d'application (APU) Arm Cortex-A53 64 bits et unité de processeur en temps réel (RPU) Cortex-R5 32 bits | MPSoC Zynq UltraScale+ et SOM Kria™ |
| Unité de processeur d'application (APU) Arm Cortex-A9 32 bits | SoC Zynq 7000 |
| Processeur MicroBlaze 32 bits | Toutes les familles AMD |
| Fournisseur | Produit | SoC Zynq 7000 | MPSoC Zynq UltraScale+ | SoC adaptatif Versal | MicroBlaze | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Cortex-A9 | Cortex-A53 | Cortex-R5 | VCU | Mali-400 | Cortex-A72 | Cortex-R5F | AIE | |||
| AMD | Bare Metal | O | O1 | O | O | O | O | O | O | O |
| AMD | FreeRTOS | O | O1 | O | N | N | O | O | O | O |
| AMD | Zephyr6 | N | O4 | O4 | O4 | O4 | ||||
| BlackBerry | QNX Neutrino | O | O | N | O | O | O | N | N | N |
| QNX OS for Safety | O | O | N | O | O | O | N | N | N | |
| Wind River | VxWorks | O | O | O | N | O | O | O | N | N |
| Green Hills | INTEGRITY-178 | N | O | N | N | N | O | N | N | N |
| INTEGRITY | O | O | N | N | N | O | N | N | N | |
| u-velOsity | N | N | O | N | N | N | O3 | N | N | |
| Siemens | Nucleus | O | O | O | N | N | N | O4 | N | N |
| PX5 | PX5 RTOS | N | O | O | N | N | N | N | N | O |
| Microsoft | Azure RTOS | O | O | O | N | N | N | N | N | O |
| ETAS | ETAS RTA-OS | O | O | O | N | N | N | N | N | N |
| Sysgo | PikeOS | O | O | N | N | N | N | N | N | N |
| PikeOS for MPU | N | N | O | N | N | N | N | N | N | |
| Lynx | LynxOS-178 | N | O | N | N | N | N | N | N | N |
| Weston Embedded | Cesium Cs/OS2, OS3 | O | O | O | N | N | N | N | N | N |
| DDC-I | Deos | O | O | N |
N | N | N | N | N | N |
| RTEMS | RTEMS | O | O | O | N | N | O | O | N | O |
| eForce | uC3 | O1 | O1 | N |
N | N | N | N | N | N |
| ENEA | OSE | O | O | N |
N | N | N | N | N | N |
| eSOL | eT-kernel | O | O | N | N | N | N | N | N | N |
| Silicon Labs | Micrium uc/OS-II / OS-III5 | O | O1 | O | N | N | N | N | N | N |
| Sciopta | Sciopta RTOS | O1 | O1 | O | N | N | N | N | N | N |
| Wittenstein | SafeRTOS | O1 | N | N | N | N | N | N | N | N |
| Segger | emBOS | O1 | N | N | N | N | N | N | N | N |
La plupart des RTOS offrent un certain niveau de certification pour différentes normes de sécurité. Consultez le fournisseur du système d'exploitation pour déterminer s'il correspond à vos besoins spécifiques.
Pour plus d'informations et de ressources d'assistance, consultez le Wiki AMD à l'adresse suivante : Écosystème software Embedded.
AMD fournit à ses clients et partenaires des technologies clés, de la documentation et de l'assistance pour permettre la conception avancée de systèmes à OS multiples sur nos produits. Les offres disponibles dans notre écosystème comprennent :
| Fournisseur | Produit | SoC adaptatif Versal | MPSoC Zynq UltraScale+ | SoC Zynq 7000 |
|---|---|---|---|---|
| AMD | Hyperviseur Xen | O | O | N |
| BlackBerry | QNX Hypervisor | O | O | N |
| Wind River | Plateforme de virtualisation Helix | O | O | N |
| Sysgo | PikeOS Hypervisor | N | O | O |
| Green Hills | Integrity Multivisor | O1 | O1 | N |
| Lynx | LynxSecure Separation Kernel Hypervisor | O | O | N |
| Dornerworks | SEL4 | O | O | N |
| Siemens | Nucleus Hypervisor | N | O | O |
| General Dynamics Mission Systems | OKL4 Microvisor | N | O | N |
Pour plus d'informations et de ressources d'assistance, consultez le Wiki AMD à l'adresse suivante : Écosystème software Embedded.
AMD fournit des bibliothèques et des pilotes supplémentaires, ainsi que des pilotes Bare Metal. Ces bibliothèques sont développées spécifiquement pour les composants AMD.
Pour plus d'informations et de ressources d'assistance sur les pilotes et bibliothèques Bare Metal, consultez le Wiki AMD à l'adresse suivante : Bare Metal et bibliothèques.
Linux open-source est le système d'exploitation le plus utilisé sur le hardware embarqué, et AMD assure sa prise en charge sur ses FPGA et SoC adaptatifs depuis l'introduction du FPGA AMD Virtex™ II Pro en 2001. Outre les environnements de conception PetaLinux et Yocto, AMD fournit un support commercial pour cibler les composants AMD de plusieurs fournisseurs tiers, notamment Certified Ubuntu® by Canonical Ltd.
Comme l'indique le Yocto Project : « Yocto Project est un projet de collaboration open source qui aide les développeurs à créer des systèmes Linux personnalisés pour les produits embarqués, quelle que soit l'architecture hardware. Ce projet fournit un ensemble flexible d'outils et un espace dans lequel les développeurs de systèmes embarqués du monde entier peuvent partager des technologies, des piles software, des configurations et des bonnes pratiques qui peuvent être utilisées pour créer des images Linux personnalisées pour les appareils embarqués. L'AMD Embedded Development Framework est basé sur le Yocto Project. En savoir plus sur AMD EDF.
Les deux flux offrent tout ce dont vous avez besoin pour personnaliser, créer et évaluer des solutions Linux embarquées sur les systèmes de traitement AMD. Conçue pour accélérer la productivité de la conception, la solution fonctionne avec les outils de conception hardware AMD pour faciliter le développement de systèmes Linux pour les SoC adaptatifs Versal, les MPSoC Zynq UltraScale+, les SoC Zynq 7000 et les processeurs MicroBlaze. Cependant, les outils PetaLinux sont progressivement remplacés par AMD EDF. Pour plus d'informations, consultez la page Outils AMD PetaLinux :
| Fournisseur | Produit | Distribution | SoC adaptatif Versal | MPSoC Zynq UltraScale+ | SoC Zynq 7000 | MicroBlaze |
|---|---|---|---|---|---|---|
| AMD | AMD EDF | Yocto | O | O | O | Y * *MicroBlaze V uniquement |
| PetaLinux | Yocto | O | O | O | O | |
| Yocto | Yocto | O | O | O | O | |
| Canonical | Ubuntu | Debian | O1 | O | N | N |
| Wind River | Linux Wind River | Yocto | O | O | O | N |
| Foundies.io | FoundriesFactory | Yocto | O | O | N | N |
| Siemens | Sokol Flex OS | Yocto | N | O | O | N |
| Sokol Omni OS | Debian | N | O | N | N | |
| TimeSys | Linux Services | Yocto | O | O | O | N |
| MontaVista | CGX/CGE | Yocto | N | O | O | N |
| ArchLinuxARM | ArchLinuxARM | N/A | N | N | O | N |
Pour plus d'informations et de ressources d'assistance, consultez le Wiki AMD à l'adresse suivante : Écosystème software Embedded.
QEMU (Quick EMUlator) est un émulateur de système open source multi-plateformes. Il s'agit d'un fichier exécutable qui s'exécute sur un système d'exploitation Linux x86. QEMU peut émuler un système complet (communément appelé invité), tel qu'une carte AMD ZCU102 ou VCK190.
L'émulation inclut les processeurs, les périphériques et autres composants hardware de la carte de développement, ce qui vous permet de lancer un système d'exploitation ou d'autres applications sur le hardware virtualisé.
QEMU peut également interagir avec la machine hôte par le biais d'interfaces telles que CAN, Ethernet et USB, ce qui permet d'utiliser en temps réel les vraies données de l'hôte sur l'ordinateur invité.
Xen est un hyperviseur de type 1 défini, entretenu et fourni à la communauté open source par Xen Project. Xen permet l'exécution de plusieurs instances de systèmes d'exploitation ou d'applications Bare Metal sur les MPSoC AMD Zynq UltraScale+. Pour plus d'informations sur l'hyperviseur Xen, consultez la page de présentation de Xen Project.
U-Boot est un chargeur de démarrage universel open source fréquemment utilisé dans la communauté Linux. AMD fournit une arborescence GIT située à l'adresse https://github.com/Xilinx/u-boot-xlnx, qui inclut un U-Boot à exécuter sur les cartes AMD.
Arm Trusted Firmware fournit une référence pour sécuriser le software pour l'architecture ARMv8-A, ainsi que pour les mises en œuvre de diverses normes d'interface telles que PSCI (Power State Coordination Interface) et le code de moniteur sécurisé pour l'interfacer avec un software normal. Le port AMD Arm Trusted Firmware est disponible à l'adresse https://github.com/Xilinx/arm-trusted-firmware.