BSP Linux personnalisé avec Yocto pour les SoC FPGA

Comprendre les FPGA

Les FPGA (Field Programmable Gate Arrays) sont des circuits intégrés pouvant être reconfigurés après leur fabrication. Cette capacité à adapter le matériel offre une flexibilité inégalée, permettant le traitement en parallèle et la personnalisation dans des secteurs comme l’aérospatiale, l’automobile et les télécommunications. Les FPGA se distinguent par leur aptitude à être configurés pour des tâches spécifiques, ce qui permet d’exploiter le parallélisme d’une manière impossible avec les processeurs traditionnels. Un cas d’usage de plus en plus courant des FPGA dans les systèmes embarqués concerne les SoC intégrant à la fois un FPGA et des cœurs applicatifs ARM Cortex-A. Cela permet d’avoir une plateforme matérielle combinant un système d’exploitation basé sur Linux tournant sur les cœurs ARM, et une accélération matérielle spécialisée exécutée sur le FPGA, le tout relié par un bus d’interconnexion à haute vitesse permettant l’échange de données entre les deux sous-systèmes. Lors du développement d’un BSP pour des cartes utilisant ces SoC, le projet Yocto s’impose comme un outil puissant. Yocto est un projet collaboratif open source qui permet aux développeurs de créer des systèmes Linux personnalisés pour des appareils embarqués, quelle que soit l’architecture matérielle sous-jacente. Un cas d’usage de plus en plus courant des FPGA dans les systèmes embarqués concerne les SoC intégrant à la fois un FPGA et des cœurs applicatifs ARM Cortex-A. Cela permet d’avoir une plateforme matérielle combinant un système d’exploitation basé sur Linux tournant sur les cœurs ARM, et une accélération matérielle spécialisée exécutée sur le FPGA, le tout relié par un bus d’interconnexion à haute vitesse permettant l’échange de données entre les deux sous-systèmes.

Les principaux défis de l’utilisation de Yocto sur des SoC FPGA

Bien que les SoC FPGA offrent une adaptabilité remarquable et soient idéaux pour le prototypage grâce à leurs outils polyvalents, le passage d’un prototype à un système de qualité production présente des obstacles majeurs. Le principal étant l’absence de certaines fonctionnalités essentielles à un déploiement pérenne. Voici quelques problèmes clés : 

books blue

Conformité aux standards

Les outils fournis par les fabricants pour les SoC FPGA ne respectent pas une distribution Yocto standard, ce qui entraîne des efforts de développement initiaux plus complexes ainsi que des problèmes potentiels de compatibilité entre différentes plateformes.
secure development blue

Maintenance de la sécurité

Le support à long terme et les mises à jour de sécurité sont souvent absents des logiciels fournis par les fabricants pour ces dispositifs, alors qu’ils sont essentiels au respect des réglementations et à la maintenance continue des produits.
Test bench blue

Configuration de niche

Les SoC FPGA, en particulier ceux basés sur les plateformes Zynq, sont des dispositifs très complexes qui nécessitent une configuration matérielle importante. Cela complique le développement initial du BSP ainsi que l’adaptation de la configuration en cas de modification du design matériel dans une future révision de la carte.

Éléments clés à prendre en compte

Yocto FPGA Xilinx platform

Personnalisation de la conception FPGA

  • Personnalisations simples, composées principalement de blocs IP existants accompagnés de petites portions de logique personnalisée
  • Accès aux interfaces et ressources externes telles que la mémoire DDR
  • Débogage de l’intégration avec Linux

Yocto Linux prêt pour la production

  • Depuis la version 2024.1, Xilinx ne recommande plus l’utilisation de PetaLinux en dehors des phases de prototypage et de démonstration
  • Créer et maintenir un système Linux prêt pour la production, sans recourir à PetaLinux
  • Mise en route de la carte, sécurité, optimisation des images, mises à jour, mise en place d’un pipeline CI/CD, etc.

Support matériel et carte

  • Configuration de la plateforme matérielle FPGA
  • Intégration des interfaces PL de Xilinx dans Linux : caméra, affichage, audio, etc.
  • Mécanisme de mise à jour du design FPGA/bitstream
  • Démarrage sécurisé (Secure Boot), chiffrement du bitstream et démarrage de secours (Fallback boot)
Nelson Quintana Veriskin
Nelson Quintana

Vice President of Engineerin

Veriskin logo white
Witekio a mis à disposition de Veriskin une équipe talentueuse, expérimentée et à l’écoute, entièrement concentrée sur l’exécution et le respect des délais de l’entreprise. L’équipe Witekio s’est montrée professionnelle, impliquée et nous a donné l’impression que nous ne faisions qu’une seule et même entreprise.

Witekio : Votre partenaire pour la personnalisation FPGA et Yocto

En tant que partenaire officiel AMD Xilinx, Witekio maîtrise les complexités du matériel FPGA. Nous savons que chaque projet est unique et nécessite des solutions firmware sur mesure. Forts de plus de vingt ans d’expérience dans le développement de systèmes Linux embarqués sur diverses plateformes matérielles, et en tant que partenaires Gold du projet Yocto, nous garantissons que votre système basé sur FPGA atteindra des performances optimales tout en assurant une fiabilité à long terme.

Notre expertise en logiciel embarqué

Buildroot

osmigration

SecureBoot

android

Witekio The Embedded Kit teams

Votre partenaire de confiance en logiciel embarqué, applications et connectivité

flag_line

4 Pays

4 Pays

iso_27001_02-1024x704

Certifies ISO 27001

Certifies ISO 27001

Avnet_logo

Fortune 500

Fortune 500