Guía de metodología de diseño integrado UltraFast™
Esta guía está organizada en torno a las áreas funcionales importantes que se relacionan con conjuntos de habilidades específicas dentro de los equipos de desarrollo.
El ecosistema de software integrado de AMD permite a los desarrolladores acelerar el proceso desde las ideas a los sistemas integrados listos para comercialización. Con un conjunto completo de herramientas, tiempos de ejecución y entornos, este ecosistema está adaptado para aprovechar a la perfección las capacidades de la cartera de dispositivos integrados de AMD, incluidos los SoC AMD Zynq™ 7000, los MPSoC Zynq UltraScale+™, los SoC adaptables Versal™ y los núcleos del procesador MicroBlaze™ y MicroBlaze V. Nuestra oferta se sostiene en una base de funciones avanzadas, lo que incluye controladores de software de seguridad y virtualización innovadores, que están intrincadamente incorporados en la estructura de los dispositivos Zynq y Versal. Esta sinergia permite crear sistemas ingeniosos, interconectados y distintos que satisfagan las demandas de las aplicaciones integradas modernas.
Linux® es el sistema operativo más utilizado en los productos AMD. AMD proporciona el SO EDF Linux y el marco de desarrollo de Embedded (EDF), un entorno basado en Yocto Project™ y distribución Linux, que incluye código fuente y archivos de recetas Yocto de nuestro repositorio de GIT, lo que permite el soporte Linux para el chip AMD a través de sistemas de compilación internos o herramientas de terceros. El SO EDF Linux es un proyecto de desarrollo de Linux personalizado y no comercial diseñado para el desarrollo de los SoC adaptables Versal™, MPSoC Zynq™ UltraScale™, SoC Zynq 7000 y procesadores MicroBlaze™ de AMD.
La compatibilidad con el kernel de Linux en las versiones de AMD EDF rastrea el kernel de LTS.
Actualmente, AMD ofrece dos herramientas para compilar e implementar soluciones de Linux integradas. El primero es AMD EDF, basado en Yocto Project™ de código abierto™, y el segundo es PetaLinux, que está siendo reemplazado por AMD EDF. Ambas herramientas proporcionan una forma rápida de crear una imagen de Linux integrada, y el EDF también admite casos de uso más avanzados.
Flujos de Linux de código abierto de AMD:
La plataforma de software unificado AMD Vitis™, el SDK (Software Development Kit, el kit de desarrollo de software) y las herramientas de socios del ecosistema ofrecen una amplia variedad de entornos de desarrollo que permiten la programación en C/C++ similar a SoC de las plataformas Zynq y Versal.
RTOS, hipervisores y dispositivos sin sistema operativo
Zephyr Project es un RTOS (real-time operating system, sistema operativo en tiempo real) escalable que admite múltiples arquitecturas de hardware, optimizado para dispositivos con recursos limitados y desarrollado pensando en la seguridad.
El SO Zephyr se basa en un kernel pequeño diseñado para su uso en sistemas con limitaciones de recursos: desde simples sensores ambientales integrados y dispositivos LED portátiles hasta sofisticados relojes inteligentes y puertas de enlace inalámbricas de la IoT.
Puedes encontrar más información sobre Zephyr Project en: https://www.zephyrproject.org/
Puedes encontrar el repositorio de Zephyr Project de AMD en: https://github.com/Xilinx/zephyr-amd
FreeRTOS es un RTOS líder del mercado de Amazon Web Services que admite más de 35 arquitecturas y se descargó una vez cada tres minutos durante el 2017. Está desarrollado por profesionales y sometido a estrictos controles de calidad, es sólido, cuenta con soporte técnico y puede integrarse libremente en productos comerciales sin necesidad de exponer tu código fuente patentado (referencia: https://www.freertos.org/RTOS.html).
Puedes encontrar más información sobre FreeRTOS en https://www.freertos.org/RTOS.html.
Puedes encontrar más información y recursos de soporte para FreeRTOS en productos AMD en AMD FreeRTOS
| Procesador | Dispositivos |
|---|---|
| APU (unidad de procesador de aplicaciones, application processor unit) Arm® Cortex®-A72 de 64 bits y RPU (unidad de procesador en tiempo real, real-time processor unit) Cortex-R5 de 32 bits | SoC adaptables Versal |
| Unidad de procesador de aplicaciones (APU) Arm Cortex-A53 de 64 bits y unidad de procesador en tiempo real (RPU) Cortex-R5 de 32 bits | MPSoC Zynq UltraScale+ y SoM Kria™ |
| Unidad de procesador de aplicaciones (APU) Arm Cortex-A9 de 32 bits | Dispositivos Zynq 7000 SoC |
| Procesador MicroBlaze de 32 bits | Todas las familias de dispositivos de AMD |
| Proveedor | Producto | SoC Zynq-7000 | MPSoC Zynq UltraScale+ | SoC adaptable Versal | MicroBlaze | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Cortex-A9 | Cortex-A53 | Cortex-R5 | VCU | Mali-400 | Cortex-A72 | Cortex-R5F | AIE | |||
| AMD | Sin sistema operativo | Sí | Sí1 | Sí | Sí | Sí | Sí | Sí | Sí | Sí |
| AMD | FreeRTOS | Sí | Sí1 | Sí | No | No | Sí | Sí | Sí | Sí |
| AMD | Zephyr6 | No | Sí4 | Sí4 | Sí4 | Sí4 | ||||
| BlackBerry | QNX Neutrino | Sí | Sí | No | Sí | Sí | Sí | No | No | No |
| QNX OS for Safety | Sí | Sí | No | Sí | Sí | Sí | No | No | No | |
| Wind River | VxWorks | Sí | Sí | Sí | No | Sí | Sí | Sí | No | No |
| Green Hills | INTEGRITY-178 | No | Sí | No | No | No | Sí | No | No | No |
| INTEGRITY | Sí | Sí | No | No | No | Sí | No | No | No | |
| u-velOsity | No | No | Sí | No | No | No | Sí3 | No | No | |
| Siemens | Nucleus | Sí | Sí | Sí | No | No | No | Sí4 | No | No |
| PX5 | PX5 RTOS | No | Sí | Sí | No | No | No | No | No | Sí |
| Microsoft | Azure RTOS | Sí | Sí | Sí | No | No | No | No | No | Sí |
| ETAS | ETAS RTA-OS | Sí | Sí | Sí | No | No | No | No | No | No |
| Sysgo | PikeOS | Sí | Sí | No | No | No | No | No | No | No |
| PikeOS for MPU | No | No | Sí | No | No | No | No | No | No | |
| Lynx | LynxOS-178 | No | Sí | No | No | No | No | No | No | No |
| Weston Embedded | Cesium Cs/OS2, OS3 | Sí | Sí | Sí | No | No | No | No | No | No |
| DDC-I | Deos | Sí | Sí | No |
No | No | No | No | No | No |
| RTEMS | RTEMS | Sí | Sí | Sí | No | No | Sí | Sí | No | Sí |
| eForce | uC3 | Sí1 | Sí1 | No |
No | No | No | No | No | No |
| ENEA | OSE | Sí | Sí | No |
No | No | No | No | No | No |
| eSOL | eT-kernel | Sí | Sí | No | No | No | No | No | No | No |
| Silicon Labs | Micrium uc/OS-II/OS-III5 | Sí | Sí1 | Sí | No | No | No | No | No | No |
| Sciopta | Sciopta RTOS | Sí1 | Sí1 | Sí | No | No | No | No | No | No |
| Wittenstein | SafeRTOS | Sí1 | No | No | No | No | No | No | No | No |
| Segger | emBOS | Sí1 | No | No | No | No | No | No | No | No |
La mayoría de los RTOS ofrecen algún nivel de certificación para diferentes estándares de seguridad. Consulta con el proveedor del sistema operativo para determinar si requieres necesidades específicas.
Puedes encontrar más información y recursos de apoyo en la wiki de AMD: Ecosistema de software integrado.
AMD ofrece a sus clientes y socios tecnologías clave, documentación y soporte para permitir diseños avanzados de sistemas de múltiples sistemas operativos en nuestros productos. Las ofertas disponibles en nuestro ecosistema incluyen las siguientes opciones:
| Proveedor | Producto | SoC adaptable Versal | MPSoC Zynq UltraScale+ | Zynq 7000 SoC |
|---|---|---|---|---|
| AMD | Hipervisor Xen | Sí | Sí | No |
| BlackBerry | QNX Hypervisor | Sí | Sí | No |
| Wind River | Helix Virtualization Platform | Sí | Sí | No |
| Sysgo | PikeOS Hypervisor | No | Sí | Sí |
| Green Hills | Integrity Multivisor | Sí1 | Sí1 | No |
| Lynx | LynxSecure Separation Kernel Hypervisor | Sí | Sí | No |
| Dornerworks | SEL4 | Sí | Sí | No |
| Siemens | Nucleus Hypervisor | No | Sí | Sí |
| General Dynamics Mission Systems | OKL4 Microvisor | No | Sí | No |
Puedes encontrar más información y recursos de apoyo en la wiki de AMD: Ecosistema de software integrado.
AMD proporciona bibliotecas adicionales y controladores sin sistema operativo. Estas bibliotecas están desarrolladas específicamente para dispositivos de AMD.
Puedes encontrar más información y recursos de soporte para bibliotecas y controladores sin sistema operativo en la wiki de AMD: Dispositivos sin sistema operativo y bibliotecas.
Linux de código abierto es el sistema operativo más popular para ejecutarse en hardware integrado, y AMD ha estado proporcionando compatibilidad para Linux en sus dispositivos FPGA y SoC adaptable desde la presentación de la FPGA AMD Virtex™-II Pro en el 2001. Además de los entornos de compilación de PetaLinux y Yocto, AMD ofrece compatibilidad comercial para dispositivos de AMD de varios proveedores externos, incluido Ubuntu® certificado por parte de Canonical Ltd.
Como se afirma en Yocto Project: “Yocto Project es un proyecto de colaboración de código abierto que ayuda a los desarrolladores a crear sistemas personalizados basados en Linux para productos integrados, independientemente de la arquitectura de hardware. El proyecto proporciona un conjunto flexible de herramientas y un espacio donde los desarrolladores integrados de todo el mundo pueden compartir tecnologías, pilas de software, configuraciones y prácticas recomendadas que se pueden utilizar a fin de crear imágenes de Linux personalizadas para dispositivos integrados”. El marco de desarrollo de AMD Embedded se basa en Yocto Project. Obtén más información acerca de AMD EDF.
Ambos flujos ofrecen todo lo necesario para personalizar, desarrollar y evaluar soluciones Linux integradas en sistemas de procesamiento AMD. La solución, diseñada para acelerar la productividad del diseño, funciona con las herramientas de diseño de hardware de AMD a fin de facilitar el desarrollo de sistemas Linux para los SoC adaptables Versal, MPSoC Zynq UltraScale+, SoC Zynq 7000 y procesadores MicroBlaze. Sin embargo, AMD EDF reemplazó a PetaLinux Tools. Consulta la página de AMD PetaLinux Tools para obtener más información:
| Proveedor | Producto | Distribución | SoC adaptable Versal | MPSoC Zynq UltraScale+ | SoC Zynq-7000 | MicroBlaze |
|---|---|---|---|---|---|---|
| AMD | AMD EDF | Yocto | Sí | Sí | Sí | Sí* * Solo MicroBlaze V |
| PetaLinux | Yocto | Sí | Sí | Sí | Sí | |
| Yocto | Yocto | Sí | Sí | Sí | Sí | |
| Canonical | Ubuntu | Debian | Sí1 | Sí | No | No |
| Wind River | Wind River Linux | Yocto | Sí | Sí | Sí | No |
| Foundies.io | FoundriesFactory | Yocto | Sí | Sí | No | No |
| Siemens | Sokol Flex OS | Yocto | No | Sí | Sí | No |
| Sokol Omni OS | Debian | No | Sí | No | No | |
| TimeSys | Linux Services | Yocto | Sí | Sí | Sí | No |
| MontaVista | CGX/CGE | Yocto | No | Sí | Sí | No |
| ArchLinuxARM | ArchLinuxARM | N/D | No | No | Sí | No |
Puedes encontrar más información y recursos de apoyo en la wiki de AMD: Ecosistema de software integrado.
QEMU (Quick EMUlator) es un emulador de sistema de código abierto y multiplataforma. Es un ejecutable que funciona en un sistema operativo Linux x86. QEMU puede emular un sistema completo (comúnmente conocido como invitado), como una placa AMD ZCU102 o VCK190.
La emulación incluye los procesadores, los periféricos y demás hardware de la placa de desarrollo, lo que permite ejecutar un sistema operativo u otras aplicaciones en el hardware virtualizado.
QEMU también puede interactuar con el equipo host a través de interfaces, como CAN (Controller Area Network, red de área de controladores), Ethernet y USB, lo que permite que los datos reales del host se utilicen en el equipo host en tiempo real.
Xen es un hipervisor de tipo 1 definido, mantenido y proporcionado a la comunidad de código abierto por Xen Project. Xen permite que se ejecuten varias instancias de sistemas operativos o aplicaciones sin sistema operativo en los MPSoC AMD Zynq UltraScale+. Puedes encontrar información adicional sobre el hipervisor Xen en la página de inicio de Xen Project.
U-Boot es un cargador de arranque universal de código abierto que se utiliza con frecuencia en la comunidad de Linux. AMD proporciona un árbol de GIT ubicado en https://github.com/Xilinx/u-boot-xlnx, que incluye un U-Boot para ejecutarse en placas AMD.
Arm Trusted Firmware proporciona una referencia al software seguro para la arquitectura ARMv8-A, además de implementaciones de varios estándares de interfaz como PSCI (Power State Coordination Interface, interfaz de coordinación de estado de alimentación) y código de monitor seguro para la interconexión con el software del mundo normal. El puerto de AMD Arm Trusted Firmware está disponible en https://github.com/Xilinx/arm-trusted-firmware.