Ecossistema de software incorporado do SoC adaptativo da AMD

Capacitando a inovação e a conectividade rápidas por meio de software

O ecossistema de software incorporado da AMD capacita os desenvolvedores a acelerar sua jornada desde a ideia até sistemas incorporados prontos para o mercado. Com um conjunto abrangente de ferramentas, tempos de execução e ambientes, este ecossistema é adaptado para aproveitar perfeitamente as capacidades do portfólio de dispositivos incorporados da AMD, incluindo os SoCs AMD Zynq™ 7000, os MPSoCs Zynq UltraScale+™, SoCs adaptativos Versal™, processador AMD MicroBlaze™ e núcleos do processador MicroBlaze V. Nossa oferta tem como base recursos avançados, que incluem drivers de software de segurança e virtualização pioneiros, intrinsecamente no DNA dos dispositivos AMD Zynq e Versal. Esta sinergia desbloqueia o potencial para criar sistemas engenhosos, interconectados e distintos que atendam às demandas de aplicativos incorporados modernos.

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

Ferramentas de criação e desenvolvimento

Linux

O AMD Linux é o sistema operacional mais predominante usado pelos produtos AMD. A AMD fornece as ferramentas PetaLinux para um fluxo de desenvolvimento simplificado do Linux, bem como o código-fonte e arquivos de receitas Yocto do nosso repositório GIT para que o suporte Linux para chip da AMD seja oferecido por sistemas internos de criação ou ferramentas de terceiros. O projeto AMD Linux é um projeto de desenvolvimento Linux personalizado e não comercial voltado para o desenvolvimento em SoCs adaptativos AMD Versal™, MPSoCs Zynq™ UltraScale™, SoCs Zynq 7000 e processadores MicroBlaze™.

O suporte do kernel do Linux para as versões da AMD inclui o seguinte:

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

Ferramentas de criação

A AMD oferece duas ferramentas para criar e implantar soluções Linux incorporadas. A PetaLinux da AMD e o Projeto de código aberto da Yocto. O PetaLinux oferece ao usuário uma GUI para criar rapidamente uma imagem Linux incorporada, e o Yocto pode ser usado por usuários mais experientes para personalizar o Linux para suas placas.

Os produtos AMD são compatíveis com um conjunto abrangente de recursos de código aberto para desenvolver, inicializar, executar, depurar e manter aplicativos baseados em Linux para um SoC AMD ou plataforma de emulação. Oferecemos aplicativos de exemplo, configurações de kernel, receitas Yocto, soluções de multiprocessamento e em tempo real e drivers de dispositivo. Os desenvolvedores de código aberto do Linux encontrarão fontes, ferramentas e fóruns de suporte familiares para aprender, desenvolver e interagir com outras pessoas com interesses, necessidades e paixões semelhantes.

Ferramentas de desenvolvimento

A plataforma de software unificada Vitis™, o Kit de desenvolvimento de software (SDK) da AMD e as ferramentas de parceiros do ecossistema oferecem uma ampla variedade de ambientes de desenvolvimento que possibilitam a programação C/C++ semelhante ao SoC das plataformas Zynq e Versal.

Ambientes de software da AMD

  • Plataforma de software unificada Vitis – Desenvolvimento de software incorporado para RFSoC e MPSoC Zynq UltraScale+™ e dispositivos de SoC adaptativo Versal.
  • Kit de desenvolvimento de software (SDK) – Projeto e depuração para SoCs Zynq 7000, MPSoCs Zynq UltraScale+ e processadores MicroBlaze.
    (Nota: a partir da versão 2019.1, o SDK é classificado como uma ferramenta legada e não será mais atualizado.)

RTOS e parceiros de biblioteca

RTOS, hipervisores e bare-metal

RTOS

"Um sistema operacional em tempo real (RTOS) é um sistema operacional (SO) destinado a fornecer dados de processo de aplicativos em tempo real conforme eles chegam, normalmente sem atrasos de buffer." (wikipedia.org)

Os principais fatores de um RTOS são mantê-lo simples e leve. Outros fatores são latência mínima de interrupção e latência de troca de contexto. Um RTOS é mais valorizado pela rapidez e determinismo com que pode responder do que pela quantidade de complexidade com que pode lidar.

FreeRTOS

O FreeRTOS é um RTOS líder de mercado da Amazon Web Services que oferece suporte a mais de 35 arquiteturas e foi baixado uma vez a cada 3 minutos durante 2017. Ele é desenvolvido profissionalmente, com rigoroso controle de qualidade, robusto, com suporte e gratuito para incorporar em produtos comerciais sem qualquer requisito para expor seu código-fonte proprietário (referência: https://www.freertos.org/RTOS.html).

Mais informações sobre o FreeRTOS podem ser encontradas em https://www.freertos.org/RTOS.html.

Uma porta de kernel FreeRTOS está disponível para os seguintes SOMs, FPGAs e SoCs adaptativos da AMD

Mais informações e recursos de suporte para FreeRTOS em produtos AMD podem ser encontrados em AMD FreeRTOS

Processador Dispositivo
Unidade de processador de aplicativos (APU) Arm® Cortex®-A72 de 64 bits e unidade de processador em tempo real (RPU) Cortex-R5 de 32 bits Dispositivos de SoC adaptativo Versal™  
Unidade de processador de aplicativos (APU) Arm Cortex-A53 de 64 bits e unidade de processador em tempo real (RPU) Cortex-R5 de 32 bits Dispositivos MPSoC Zynq™ UltraScale+™ e SOMs Kria™
Unidade de processador de aplicativos (APU) Arm Cortex-A9 de 32 bits Dispositivos SoC Zynq 7000
Processador MicroBlaze™ de 32 bits Todas as famílias de dispositivos AMD

Suporte para RTOS da AMD e parceiros de ecossistema

Fornecedor Produto SoC Zynq 7000 MPSoC Zynq UltraScale+ SoC adaptativo Versal MicroBlaze
Cortex-A9 Cortex-A53 Cortex-R5 VCU Mali-400 Cortex-A72 Cortex-R5F AIE
AMD Bare-metal S S1 S S S S S S S
AMD FreeRTOS S S1 S N N S S S S
BlackBerry QNX Neutrino S S N S S S N N N
QNX OS for Safety S S N S S S N N N
Wind River VxWorks S S S N S S S N N
Green Hills INTEGRITY-178 N S N N N S N N N
INTEGRITY S S N N N S N N N
u-velOsity N N S N N N S3 N N
Siemens Nucleus S S S N N N S4 N N
PX5 PX5 RTOS N S S N N N N N S
Microsoft Azure RTOS S S S N N N N N S
ETAS ETAS RTA-OS S S S N N N N N N
Sysgo PikeOS S S N N N N N N N
PikeOS for MPU N N S N N N N N N
Lynx LynxOS-178 N S N N N N N N N
Weston Embedded Cesium Cs/OS2, OS3 S S S N N N N N N
DDC-I Deos S S N

N N N N N N
RTEMS RTEMS S S S N N S S N S
eForce uC3 S1 S1 N

N N N N N N
ENEA OSE S S N

N N N N N N
eSOL eT-kernel S S N N N N N N N
Silicon Labs Micrium uc/OS-II / OS-III5 S S1 S N N N N N N
Sciopta Sciopta RTOS S1 S1 S N N N N N N
Wittenstein SafeRTOS S1 N N N N N N N N
Segger emBOS S1 N N N N N N N N

A maioria dos RTOSs fornece algum nível de certificação para diferentes padrões de segurança. Consulte o fornecedor do sistema operacional para determinar se ele atende às suas necessidades específicas.
 

1. Sem suporte para SMP

2. Micrium está em modo somente manutenção. A Weston Embedded está levando o sistema operacional adiante sob a marca Cesium.

3. Pacote de suporte de arquitetura

4. Em desenvolvimento

5. Somente legado, entre em contato com a Weston Embedded para obter suporte


Mais informações e recursos de suporte podem ser encontrados no Wiki da AMD em: Ecossistema de software incorporado.

Virtualização e hipervisores

A AMD fornece a seus clientes e parceiros tecnologias, documentação e suporte essenciais para habilitar projetos avançados com vários sistemas operacionais em nossos produtos. As ofertas disponíveis em nosso ecossistema incluem:

1. Requer contrato de serviços

Mais informações e recursos de suporte podem ser encontrados no Wiki da AMD em: Ecossistema de software incorporado.

Bare-metal e bibliotecas

A AMD fornece bibliotecas adicionais e drivers bare-metal. Essas bibliotecas são desenvolvidas especificamente para dispositivos AMD.

Mais informações e recursos de suporte para bibliotecas e drivers bare-metal podem ser encontrados no Wiki da AMD em: Bare-metal e bibliotecas.

  • Bibliotecas

    Iwip

    TCP/IP Stack de rede

    xilisf

    Flash

    BSP independente

    Board Support Package

    xilffs

    Sistema de arquivos FAT

    xilfpga

    Gerenciamento PL/FPGA (carregamento de fluxo de bits)

    xilskey

    Segurança xilsecu

    xilsecure

    Segurança

    xilrsa

    Segurança

Linux incorporado

O Linux de código aberto é o sistema operacional mais popular para execução em hardware incorporado, e a AMD oferece suporte para Linux em seus dispositivos FPGA e SoC adaptativo desde a introdução da FPGA AMD Virtex™-II Pro em 2001. Além dos ambientes de criação do PetaLinux e Yocto, a AMD fornece suporte comercial para direcionar dispositivos AMD de vários fornecedores terceirizados, incluindo o certificado Ubuntu da Canonical Ltd.

Yocto

Como o Projeto Yocto afirma: "O Projeto Yocto é um projeto de colaboração de código aberto que auxilia os desenvolvedores a criar sistemas personalizados baseados em Linux para produtos incorporados, independentemente da arquitetura do hardware. O projeto fornece um conjunto flexível de ferramentas e um espaço onde desenvolvedores incorporados em todo o mundo podem compartilhar tecnologias, pilhas de software, configurações e práticas recomendadas que podem ser usadas para criar imagens personalizadas do Linux para dispositivos incorporados."

PetaLinux

As ferramentas PetaLinux oferecem tudo o que é necessário para personalizar, criar e avaliar soluções Linux incorporadas em sistemas de processamento AMD. Adaptada para acelerar a produtividade do projeto, a solução funciona com as ferramentas do projeto de hardware da AMD para facilitar o desenvolvimento de sistemas Linux para SoCs adaptativos Versal™, MPSoC Zynq™ UltraScale+™, SoCs Zynq 7000 e processadores MicroBlaze™.

Linux

Fornecedor Produto Distribuição SoC adaptativo Versal MPSoC Zynq UltraScale+ SoC Zynq 7000 MicroBlaze
AMD PetaLinux Yocto S S S S
Yocto Yocto S S S S
Canonical Ubuntu Debian S1 S N N
Wind River Wind River Linux Yocto S S S N
Foundies.io FoundriesFactory Yocto S S N N
Siemens Sokol Flex OS Yocto N S S N
Sokol Omni OS Debian N S N N
TimeSys Linux Services Yocto S S S N
MontaVista CGX/CGE Yocto N S S N
ArchLinuxARM ArchLinuxARM N/A N N S N

1. Versão beta para VCK190

Mais informações e recursos de suporte podem ser encontrados no Wiki da AMD em: Ecossistema de software incorporado.

Projetos de código-fonte aberto

QEMU

O QEMU (Quick EMUlator) é um emulador de sistema multiplataforma de código aberto. É um executável que é roda em um sistema operacional Linux x86. O QEMU pode emular um sistema completo (comumente chamado de convidado), como uma placa ZCU102 ou VCK190 da AMD.

A emulação inclui os processadores, periféricos e outros hardwares na placa de desenvolvimento, permitindo que você inicie um sistema operacional ou outros aplicativos no hardware virtualizado.

O QEMU também pode interagir com a máquina host por meio de interfaces, como CAN, Ethernet e USB, permitindo que dados do mundo real do host sejam usados na máquina convidada em tempo real.

Hipervisor Xen

O Xen é um hipervisor Tipo 1 definido, mantido e fornecido à comunidade de código aberto pelo Projeto Xen. O Xen permite que várias instâncias de sistemas operacionais ou aplicativos bare-metal sejam executadas em MPSoCs AMD Zynq™ UltraScale+™. Informações adicionais sobre o hipervisor Xen podem ser encontradas na página Introdução ao projeto Xen.

U-Boot

O U-Boot é um carregador de inicialização universal de código aberto frequentemente usado na comunidade Linux. A AMD fornece uma árvore GIT localizada em https://github.com/Xilinx/u-boot-xlnx, que inclui um U-Boot para execução em placas AMD.

Arm Trusted Firmware

O Arm® Trusted Firmware fornece uma referência para software seguro para a arquitetura ARMv8-A, bem como implementações de vários padrões de interface, como PSCI (Interface de coordenação de estado de energia) e código de monitor seguro para interface com software do mundo normal. A porta AMD Arm Trusted Firmware foi lançada e está disponível em https://github.com/Xilinx/arm-trusted-firmware.

Suporte e recursos