É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
|
Domaines


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.

La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Sur le même sujet

Ajoutez une sortie audio Bluetooth à votre Raspberry Pi

Magazine
Marque
Hackable
Numéro
18
|
Mois de parution
mai 2017
|
Domaines
Résumé
Comme pour d'autres configurations, le fait de disposer d'une interface graphique facilite grandement la prise en charge de certaines fonctionnalités et/ou le support de certains matériels. Il arrive, cependant, que pour bon nombre de projets, cette interface graphique soit totalement inutile pour la simple et bonne raison que la Pi n'aura pas d'écran connecté en HDMI. Ceci complique un peu les choses lorsqu'il s'agit utiliser uniquement la ligne de commandes, mais cela reste parfaitement faisable. Exemple avec un haut-parleur Bluetooth...

Jonglez avec les versions de Raspbian pour profiter des applications les plus récentes

Magazine
Marque
Hackable
Numéro
18
|
Mois de parution
mai 2017
|
Domaines
Résumé
Vous devez connaître le syndrome : un logiciel ou un outil dispose des fonctionnalités que vous souhaitez mais, bien entendu, la version disponible dans Raspbian stable n'est pas la bonne, il vous faut la suivante. Très souvent, cette fameuse version tant désirée existe bien, mais elle est dans la future version du système et vous n'avez vraiment pas envie de tout mettre à jour. Pas de problème, rien ne vous empêche de faire vos petits mélanges maison...

Programmation embarquée sur Raspberry Pi sans sonde JTAG

Magazine
Marque
GNU/Linux Magazine
Numéro
203
|
Mois de parution
avril 2017
|
Domaines
Résumé
Le standard JTAG, au succès indéniable, est aujourd’hui ancré dans la majorité des processeurs et proposé comme moyen privilégié de programmation embarquée et de debug. Toutefois, l’utilisation d’une sonde JTAG n’est en rien triviale. L'utilisation du débuggeur GNU s’impose alors, car il est possible de l’employer en bare-metal, c’est-à-dire sans aucun système d’exploitation embarqué pour gérer le processeur et sa carte.À titre d’illustration, nous nous intéressons dans cet article à la programmation bare-metal d’une Raspberry Pi à l’aide de GDB uniquement.

Par le même auteur

Des kits de développement FPGA à moins de 30 €

Magazine
Marque
Hackable
Numéro
32
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Même s’il est possible de faire 90 % du développement en simulation et sans matériel, quand on «fait du FPGA», on souhaite pouvoir toucher du concret. Il est donc nécessaire d’avoir une carte électronique permettant de faire fonctionner son projet en réel. Les outils de développement sur FPGA ont la réputation d’être chers et réservés aux universités et bureaux d’études. Ce n’est pourtant plus le cas, il existe de plus en plus de kits de développement permettant de mettre le pied à l'étrier à moindres frais. Et tous proposent désormais leur logiciel de développement gratuit fonctionnant sous GNU/Linux (mais pas tous libres). Nous allons ici lister quelques-uns de ces kits.

La liberté jusqu’au cœur du processeur avec RISC-V

Magazine
Marque
Hackable
Numéro
31
|
Mois de parution
octobre 2019
|
Domaines
Résumé
RISC-V est un jeu d’instructions 32 bits libre, développé initialement par l’université de Berkeley. Ce jeu d’instructions (ISA pour Instruction Set Architecture) est maintenant soutenu par une fondation regroupant quasiment tous les grands noms de l’industrie informatique. Dans cet article, nous allons décrire succinctement le concept de RISC vs CISC, puis nous expliquerons les bases du jeu d’instructions avec un peu de code assembleur, enfin nous terminerons par une description de quelques émulateurs et processeurs RISC-V disponibles aujourd’hui sur le marché.

Retrouvez le plaisir du test HDL avec Cocotb

Magazine
Marque
GNU/Linux Magazine
Numéro
222
|
Mois de parution
janvier 2019
|
Domaines
Résumé
Écrire les stimuli permettant de tester un composant HDL (Hardware Description Language) est beaucoup plus facile et plaisant avec un langage moderne comme Python qu’avec les vénérables langages Verilog et VHDL. La librairie Cocotb permet d'écrire ces tests en Python et de piloter un simulateur du commerce qu'il soit libre ou non (Cosimulation).

De beaux chronogrammes avec WaveDrom

Magazine
Marque
GNU/Linux Magazine
Numéro
205
|
Mois de parution
juin 2017
|
Domaines
Résumé
WaveDrom est un outil de dessin de chronogrammes écrit en JavaScript/HTML/CSS. Il permet de décrire ses chronogrammes avec une syntaxe simple en JSON. Une bibliothèque JavaScript va ensuite convertir la structure JSON en une image SVG affichable dans un navigateur. Il est également possible d'utiliser une application « hors-ligne » pour générer ses images en SVG, PNG, JPG, etc.

É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
|
Domaines
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.