Ecosistema de software integrado de SoC adaptable de AMD

Impulsar la conectividad y la innovación rápida a través del software

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.

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

Herramientas de compilación y desarrollo

Linux

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. 

Herramientas de compilación

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. 

Herramientas de desarrollo

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.

Entornos de software AMD

RTOS y bibliotecas de socios

RTOS, hipervisores y dispositivos sin sistema operativo

RTOS de Zephyr Project

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

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.

Se encuentra disponible un puerto de kernel FreeRTOS para los siguientes FPGA, SoM y SoC adaptables de AMD

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

Compatibilidad con RTOS de AMD y socios de ecosistema

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 1
AMD FreeRTOS 1 No No
AMD Zephyr6 No 4 4     4 4    
BlackBerry QNX Neutrino No No No No
QNX OS for Safety No No No No
Wind River VxWorks No No No
Green Hills INTEGRITY-178 No No No No No No No
INTEGRITY No No No No No No
u-velOsity No No No No No 3 No No
Siemens Nucleus No No No 4 No No
PX5 PX5 RTOS No No No No No No
Microsoft Azure RTOS No No No No No
ETAS ETAS RTA-OS No No No No No No
Sysgo PikeOS No No No No No No No
PikeOS for MPU No No No No No No No No
Lynx LynxOS-178 No No No No No No No No
Weston Embedded Cesium Cs/OS2, OS3 No No No No No No
DDC-I Deos No

No No No No No No
RTEMS RTEMS No No No
eForce uC3 1 1 No

No No No No No No
ENEA OSE No

No No No No No No
eSOL eT-kernel No No No No No No No
Silicon Labs Micrium uc/OS-II/OS-III5 1 No No No No No No
Sciopta Sciopta RTOS 1 1 No No No No No No
Wittenstein SafeRTOS 1 No No No No No No No No
Segger emBOS 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.
 

  1. Sin soporte de SMP
  2. Micrium solo está en modo de mantenimiento Weston Embedded está desarrollando el sistema operativo bajo la marca Cesium
  3. Paquete de soporte de arquitectura
  4. En desarrollo
  5. Solo heredado, comunícate con Weston Embedded para obtener soporte
  6. Descripción general del SO Zephyr para plataformas de hardware integrado basadas en AMD Arm


Puedes encontrar más información y recursos de apoyo en la wiki de AMD: Ecosistema de software integrado.

Virtualización e hipervisores

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 No
BlackBerry QNX Hypervisor No
Wind River Helix Virtualization Platform No
Sysgo PikeOS Hypervisor No
Green Hills Integrity Multivisor 1 1 No
Lynx LynxSecure Separation Kernel Hypervisor No
Dornerworks SEL4 No
Siemens Nucleus Hypervisor No
General Dynamics Mission Systems OKL4 Microvisor No No
  1. Requiere contrato de servicios

Puedes encontrar más información y recursos de apoyo en la wiki de AMD: Ecosistema de software integrado.

Dispositivos sin sistema operativo y bibliotecas

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.

Bibliotecas

  • lwip: Red TCP/IP Stack
  • xilisf: Flash
  • BSP independiente: Paquete de soporte de placa
  • xilffs: Sistema de archivos FAT
  • xilfpga: Gestión de PL/FPGA (Field-Programmable Gate Arrays, matriz de puertas lógicas programable en campo) (carga de secuencia binaria)
  • xilskey: Seguridad xilsecu
  • xilsecure: Seguridad
  • xilrsa: Seguridad

Linux integrado

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.

Marco de desarrollo de AMD Embedded (EDF) y Yocto Project™

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

AMD EDF y PetaLinux

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: 

Linux

Proveedor Producto Distribución SoC adaptable Versal MPSoC Zynq UltraScale+ SoC Zynq-7000 MicroBlaze
AMD AMD EDF Yocto Sí* * Solo MicroBlaze V
PetaLinux Yocto
Yocto Yocto
Canonical Ubuntu Debian 1 No No
Wind River Wind River Linux Yocto No
Foundies.io FoundriesFactory Yocto No No
Siemens Sokol Flex OS Yocto No No
Sokol Omni OS Debian No No No
TimeSys Linux Services Yocto No
MontaVista CGX/CGE Yocto No No
ArchLinuxARM ArchLinuxARM N/D No No No
  1. Versión beta para VCK190

Puedes encontrar más información y recursos de apoyo en la wiki de AMD: Ecosistema de software integrado.

Proyectos de código abierto

QEMU

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.

Hipervisor Xen

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

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

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.

Recursos y soporte