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 :

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.

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.

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
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
Vice President of Engineerin
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é

Votre partenaire de confiance en logiciel embarqué, applications et connectivité
4 Pays
4 Pays
Certifies ISO 27001
Certifies ISO 27001
