É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

Par le(s) même(s) auteur(s)

Pimp my LED counter, les performances de l’addition

Magazine
Marque
Hackable
Numéro
55
Mois de parution
juillet 2024
Spécialité(s)
Résumé

Pour évaluer un nouveau FPGA, on commence généralement avec la conception d’un compteur pour faire clignoter une LED. Ce HelloWorld simpliste nous amène à utiliser toute la chaîne de développement, de la conception du circuit en langage HDL jusqu’à la configuration du FPGA sur le kit. En passant bien sûr par la synthèse, le placement routage et le bitstream. On se penche rarement sur les performances du compteur utilisé pour le clignotement ni comment l’optimiser de manière à augmenter la fréquence de cadencement au maximum qu’il est possible d’obtenir avec le modèle étudié. C’est pourtant ce qu’on se propose de faire dans cet article à partir du kit iCEstick de chez Lattice.

Accélérez vos simulations VHDL avec Verilator

Magazine
Marque
Hackable
Numéro
45
Mois de parution
novembre 2022
Spécialité(s)
Résumé

Dans un précédent article, nous avons présenté le simulateur Verilator. C’est un simulateur un peu particulier qui convertit le modèle HDL en une classe C++. Le banc de test est ensuite écrit sous la forme d’un programme en C++. Nous avons montré qu’avec cette méthode, on accélère énormément la simulation. Le problème de Verilator, c’est qu’il cible le langage Verilog. Or, l’industrie utilise également le VHDL comme standard de description matériel. Nous allons voir dans cet article qu’il est tout de même possible d’utiliser Verilator avec du VHDL grâce au couple de logiciels Yosys et GHDL. Nous en profiterons pour comparer trois méthodes de simulation, une avec GHDL, une avec NVC et enfin avec Verilator.

Transformez votre vieille Game Boy en console de salon HDMI

Magazine
Marque
Hackable
Numéro
44
Mois de parution
septembre 2022
Spécialité(s)
Résumé

On se propose ici d’utiliser un FPGA GW1NSR de la société chinoise Gowin pour transformer sa Game Boy en véritable console de salon, avec le branchement HDMI ainsi que la manette de Super NES. Le (relatif) plug & play du montage transforme ainsi la Game Boy en une Game Boy-Switch rétro à la sauce Formicapunk. On peut y jouer en mode portable comme à l’époque et si on l’insère dans le montage, il est possible d’y jouer sur sa télé HDMI avec une manette de Super NES.

Les derniers articles Premiums

Les derniers articles Premium

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Brève introduction pratique à ZFS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Les listes de lecture

7 article(s) - ajoutée le 01/07/2020
La SDR permet désormais de toucher du doigt un domaine qui était jusqu'alors inaccessible : la réception et l'interprétation de signaux venus de l'espace. Découvrez ici différentes techniques utilisables, de la plus simple à la plus avancée...
8 article(s) - ajoutée le 01/07/2020
Au-delà de l'aspect nostalgique, le rétrocomputing est l'opportunité unique de renouer avec les concepts de base dans leur plus simple expression. Vous trouverez ici quelques-unes des technologies qui ont fait de l'informatique ce qu'elle est aujourd'hui.
9 article(s) - ajoutée le 01/07/2020
S'initier à la SDR est une activité financièrement très accessible, mais devant l'offre matérielle il est parfois difficile de faire ses premiers pas. Découvrez ici les options à votre disposition et les bases pour aborder cette thématique sereinement.
Voir les 32 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous