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

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous