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, esse ecossistema foi projetado para aproveitar perfeitamente os recursos do portfólio de produtos incorporados da AMD, incluindo os SoCs AMD Zynq™ 7000, os MPSoCs Zynq UltraScale+™, os SoCs adaptativos Versal™ e os núcleos de processador MicroBlaze™ e 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 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 Linux® é o sistema operacional mais predominante usado pelos produtos AMD. A AMD fornece o sistema operacional EDF Linux e o Embedded Development Framework (EDF), um ambiente baseado no Yocto Project™ e distribuição Linux, que inclui código-fonte e arquivos de receitas Yocto do nosso repositório GIT, permitindo o suporte Linux para chips AMD por meio de sistemas de compilação internos ou ferramentas de terceiros. O sistema operacional EDF Linux é um projeto de desenvolvimento Linux personalizado e não comercial, projetado para desenvolvimento em SoCs adaptativos AMD Versal™, MPSoCs Zynq™ UltraScale™, SoCs Zynq 7000 e processadores MicroBlaze™.

O suporte ao kernel do Linux nas versões AMD EDF rastreia o kernel LTS. 

Ferramentas de criação

Atualmente, a AMD oferece duas ferramentas para compilar e implantar soluções Linux incorporadas. A primeira é AMD EDF, construída sobre o Yocto Project™ de código aberto, e a segunda é PetaLinux, que está sendo substituída pelo AMD EDF. Ambas ferramentas fornecem uma maneira rápida de criar uma imagem Linux incorporada, sendo que o EDF também oferece suporte a casos de uso mais avançados. 

Ferramentas de desenvolvimento

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

Ambientes de software da AMD

RTOS e parceiros de biblioteca

RTOS, hipervisores e bare-metal

Projeto RTOS Zephyr

O projeto Zephyr é um sistema operacional dimensionável em tempo real (RTOS) que suporta várias arquiteturas de hardware, otimizado para dispositivos com recursos limitados e criado com a segurança em mente.

O sistema operacional Zephyr é baseado em um kernel de tamanho reduzido, projetado para uso em sistemas com recursos limitados: desde simples sensores ambientais incorporados e dispositivos vestíveis com LED até sofisticados relógios inteligentes e gateways sem fio para IoT.

Mais informações sobre o Projeto Zephyr podem ser encontradas em:  https://www.zephyrproject.org/

O repositório Projeto do Zephyr da AMD pode ser encontrado em:  https://github.com/Xilinx/zephyr-amd

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. Desenvolvido profissionalmente, com rigoroso controle de qualidade, robusto, com suporte, e pode ser incorporado gratuitamente 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 SoCs adaptativos 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 MPSoCs 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
AMD Zephyr6 N S4 S4     S4 S4    
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 RTOS oferece algum nível de certificação para diferentes normas 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
  6. Visão geral do sistema operacional Zephyr para plataformas de hardware baseadas em AMD Arm incorporado


Para obter mais informações e recursos de suporte, consulte o Wiki da AMD: 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

Para obter mais informações e recursos de suporte, consulte o Wiki da AMD: 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.

AMD Embedded Development Framework (EDF) e Yocto Project™

Como o Yocto Project afirma: "O Yocto Project é 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." O AMD Embedded Development Framework é baseado no Yocto Project. Saiba mais sobre a AMD EDF

AMD EDF e PetaLinux

Ambos os fluxos oferecem tudo o que é necessário para personalizar, construir 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 de projeto de hardware AMD para facilitar o desenvolvimento de sistemas Linux para SoCs adaptativos Versal, MPSoCs Zynq UltraScale+, SoCs Zynq 7000 e processadores MicroBlaze. No entanto, as ferramentas PetaLinux agora foram substituídas pela AMD EDF. Consulte a página Ferramentas do AMD PetaLinux para obter mais informações: 

Linux

Fornecedor Produto Distribuição SoC adaptativo Versal MPSoC Zynq UltraScale+ SoC Zynq 7000 MicroBlaze
AMD AMD EDF Yocto S S S Y* *Apenas MicroBlaze V
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

Para obter mais informações e recursos de suporte, consulte o Wiki da AMD: Ecossistema de software incorporado.

Projetos de código 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