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á diseñado para aprovechar a la perfección las capacidades de la cartera de dispositivos integrados de AMD, incluidos los AMD Zynq™ 7000 SoC, los MPSoC Zynq UltraScale+™, los SoC adaptables Versal™ y los núcleos del procesador AMD MicroBlaze™ y MicroBlaze V. Nuestra oferta se erige en una base de funciones avanzadas, lo que incluye controladores de software de seguridad y virtualización innovadores, intrincadamente incorporados en la estructura de los dispositivos Zynq y Versal de AMD. 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

AMD Linux es el sistema operativo más utilizado en los productos AMD. AMD proporciona PetaLinux Tools para un flujo de desarrollo de Linux simplificado, además del código fuente y los archivos de recetas de Yocto de nuestro repositorio de GIT para que se pueda proporcionar compatibilidad con Linux para los chips de AMD mediante sistemas de compilación internos o herramientas de terceros. El proyecto AMD Linux es un proyecto de desarrollo de Linux personalizado y no comercial dirigido al desarrollo de SoC adaptables Versal™, MPSoC Zynq™ UltraScale™, Zynq 7000 SoC y procesadores MicroBlaze™ de AMD.

La compatibilidad del kernel de Linux con las versiones de AMD incluyen las siguientes opciones:

  • 2023.x es v6.1
  • 2022.x es v5.15
  • 2021.x es v5.10

Herramientas de compilación

AMD ofrece dos herramientas para compilar e implementar soluciones de Linux integradas. Son PetaLinux de AMD y el proyecto de código abierto de Yocto . PetaLinux ofrece una interfaz gráfica de usuario para compilar rápidamente una imagen de Linux integrado, y usuarios más experimentados pueden utilizar Yocto a fin de personalizar Linux para sus placas.

Los productos AMD cuentan con un conjunto completo de recursos de código abierto para desarrollar, iniciar, ejecutar, depurar y mantener aplicaciones basadas en Linux para un SoC AMD o una plataforma de emulación. Ofrecemos ejemplos de aplicaciones, configuraciones de kernel, recetas de Yocto, soluciones de multiprocesamiento y en tiempo real, y controladores de dispositivos. Los desarrolladores de código abierto de Linux encontrarán herramientas, foros de soporte y fuentes conocidas para aprender, desarrollar e interactuar con otras personas con intereses, necesidades y pasiones similares.

Herramientas de desarrollo

La plataforma de software unificado Vitis™, el SDK (Software Development Kit, el kit de desarrollo de software) de AMD 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

  • Plataforma de software unificado Vitis: desarrollo de software integrado para dispositivos MPSoC y RFSoC Zynq UltraScale+™ y SoC adaptables Versal.
  • Kit de desarrollo de software (SDK): diseño y depuración para Zynq 7000 SoC, MPSoC Zynq UltraScale+ y procesadores MicroBlaze.
    (Nota: A partir de 2019.1, el SDK se clasifica como una herramienta heredada y ya no se actualizará).

RTOS y bibliotecas de socios

RTOS, hipervisores y dispositivos sin sistema operativo

RTOS

“Un RTOS (real-time operating system, sistema operativo en tiempo real) es un sistema operativo (SO) destinado a servir datos de proceso de aplicaciones en tiempo real a medida que llegan, por lo general, sin retrasos en el búfer”. (wikipedia.org)

Los factores clave en un RTOS son su sencillez y ligereza. Otros factores son la latencia mínima de las interrupciones y la latencia de cambios de contexto. Un RTOS se valora más por la rapidez y la determinación de su respuesta que por la complejidad que pueda manejar.

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 robusto, 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 Dispositivos SoC adaptable 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 Dispositivos 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

Soporte de 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
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


Se puede encontrar más información y recursos de apoyo en la wiki de AMD en: 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

Se puede encontrar más información y recursos de apoyo en la wiki de AMD en: 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 en: 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 soporte para Linux en sus dispositivos FPGA y SoC adaptable desde la introducció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 soporte comercial para dispositivos de AMD de varios proveedores externos, incluido Ubuntu certificado de Canonical Ltd.

Yocto

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

PetaLinux

PetaLinux Tools ofrece 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 SoC adaptables Versal™, MPSoC Zynq™ UltraScale+™, Zynq 7000 SoC y procesadores MicroBlaze™.

Linux

Proveedor Producto Distribución SoC adaptable Versal MPSoC Zynq UltraScale+ SoC Zynq-7000 MicroBlaze
AMD 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

Se puede encontrar más información y recursos de apoyo en la wiki de AMD en: 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 múltiples instancias de sistemas operativos o aplicaciones sin sistema operativo en MPSoC Zynq™ UltraScale+™ de AMD. 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