Écrire un pilote en Userspace pour le FPGA grâce au pilote UIO

Magazine
Marque
Open Silicium
Numéro
18
Mois de parution
avril 2016
Spécialité(s)


Résumé
La libération des FPGA passe bien sûr d'abord par les outils permettant de générer la configuration du composant. Mais elle passe aussi par l'inclusion de FPGA sur des cartes utilisant des systèmes d'exploitation libres comme Linux. Sur des plateformes processeur + FPGA comme on trouve sur les modules d'Armadeus Système ou sur le Zync de Xilinx se pose alors la question de l'écriture d'un pilote pour le design FPGA. L'utilisation du modèle de driver Userspace I/O permet d'exporter les registres et interruptions dans l'espace utilisateur et d'éviter l'écriture fastidieuse d'un driver kernel.

Pour les industriels, le choix d'architectures processeur + FPGA pose problème : comment développer simplement un pilote Linux pour son périphérique FPGA sans avoir à se perdre dans les méandres du kernel ? L'intérêt du modèle UIO est d'écrire un minimum de code en espace kernel pour transférer les interfaces — espaces de registres et interruption — dans l'espace utilisateur. De cette manière, l'écriture de l'«intelligence» du driver se développe comme une application utilisateur standard, ce qui simplifie l'écriture du pilote avec l'utilisation du langage et les bibliothèques de fonctions de son choix.

Après avoir introduit les problèmes posés par le développement d'un pilote Linux, nous décrirons l'architecture d'un pilote UIO au moyen d'un projet simple utilisant une LED et un bouton fonctionnant sur une APF6_SP de chez Armadeus Systems. Nous décrirons l'écriture du driver kernel ainsi que la partie utilisateur au moyen d'un programme simple...

Cet article est réservé aux abonnés. Il vous reste 94% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous