Créons un « pilote » bare metal pour une interface série

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)


Résumé

Durant mes pérégrinations dans le petit monde du développement FPGA avec LiteX s'est posée une problématique intéressante, consistant à devoir écrire un support pour une interface série (UART) en n’ayant à disposition rien d'autre qu'une poignée de registres où lire ou écrire. Cet exercice, pour moi, était une phase préalable à l'implémentation d'un pilote pour un système d'exploitation, mais serait transposable à n'importe quel type d'interface reposant sur des mécanismes similaires, et ce, sur n'importe quel MCU ou SoC, actuel ou ancien. Faisons donc connaissance avec l'UART LiteX, voulez-vous ?


Le contexte évoqué ici concerne initialement du développement C bare metal pour un SoC softcore RISC-V produit par le framework LiteX, couvert par ailleurs dans quelques articles précédents de la publication. Il ne s'agit pourtant pas d'un article sur LiteX et, même s'il est toujours intéressant de reproduire les manipulations avec du matériel physique, n'est pas réellement en lien avec un quelconque MCU ou SoC. L'objet est simplement de voir comment, à partir de quelques registres, nous pouvons créer un support simplifié pour un port série en programmation bare metal (sans OS). Ceci sera donc, dans une certaine mesure, facilement adaptable à tout type de situations similaires. Le mot « pilote » utilisé dans le titre est donc à prendre au sens large du terme, puisqu'il s'agit davantage d'un « morceau de code » plutôt que d'un pilote pour système comme Linux, FreeRTOS, Zephyr, etc.

Néanmoins, le scénario présent étant…

Cet article est réservé aux abonnés. Il vous reste 95% à 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)

STC15 : les microcontrôleurs avec un cœur vieux de 45 ans sont toujours d'actualité !

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

Le monde des MCU semble aujourd'hui très homogène et surtout totalement dominé par les architectures ARM, ce qui est, d'un certain point de vue, relativement vrai. Mais les alternatives sont nombreuses, qu'il s'agisse de classiques du genre comme Atmel AVR, de « nouveaux » venus comme l'écosystème ESP32 et/ou une architecture (ISA) conquérant chaque jour plus de part de marché, à savoir le RISC-V. Et dans cet univers parallèle à l'ARM, on trouve des choses qui peuvent paraître assez surprenantes, comme un microcontrôleur développé par Intel en 1980 : le 8051. Et celui-ci est toujours au goût du jour, un nouveau modèle est même arrivé l'été dernier, c'est dire !

Hack : utiliser les sous-titres comme source d'action durant une lecture audio

Magazine
Marque
GNU/Linux Magazine
Numéro
278
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Il y a des matins comme ça... On se réveille avec une idée saugrenue, qui ne nous lâchera pas avant d'avoir un début de solution, qui, forcément, doit ensuite se transformer en implémentation. L'idée de ce jour était « tiens, ce serait amusant que la lecture d'un fichier audio puisse provoquer des actions en fonction de la présence de marqueurs spécifiques à des positions temporelles fixes » (je vous explique dans un instant ce que cela veut dire). Ceci soulève plein de questions : qu'est-ce qui existe comme solutions « standard » ? Peut-on ajouter des sous-titres à un format audio ? Comment récupérer ces métadonnées ensuite ? Faut-il vraiment écrire un player pour ça ? Explorons donc tout cela...

Les derniers articles Premiums

Les derniers articles Premium

Bun.js : l’alternative à Node.js pour un développement plus rapide

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

Dans l’univers du développement backend, Node.js domine depuis plus de dix ans. Mais un nouveau concurrent fait de plus en plus parler de lui, il s’agit de Bun.js. Ce runtime se distingue par ses performances améliorées, sa grande simplicité et une expérience développeur repensée. Peut-il rivaliser avec Node.js et changer les standards du développement JavaScript ?

PostgreSQL au centre de votre SI avec PostgREST

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

Dans un système d’information, il devient de plus en plus important d’avoir la possibilité d’échanger des données entre applications. Ce passage au stade de l’interopérabilité est généralement confié à des services web autorisant la mise en œuvre d’un couplage faible entre composants. C’est justement ce que permet de faire PostgREST pour les bases de données PostgreSQL.

La place de l’Intelligence Artificielle dans les entreprises

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

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

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

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

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 36 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous