Développement baremetal sur Pi3 : mailbox et framebuffer

Magazine
Marque
Hackable
Numéro
40
Mois de parution
janvier 2022
Spécialité(s)


Résumé

L'article précédent nous a mis le pied à l'étrier en nous permettant de faire connaissance avec le développement baremetal sur Raspberry Pi 3 équipée d'un SoC BCM2837. Nous avons été en mesure de créer et d’exécuter un simple code affichant un message sur la sortie série (GPIO 14 et 15) de la Pi. Il est temps, à présent, de passer à la vitesse supérieure et de faire connaissance avec des fonctionnalités plus intéressantes afin de pouvoir utiliser la sortie HDMI du SBC.


Dans le précédent article, nous nous étions arrêtés au strict minimum, ou presque. Notre projet était constitué des fichiers sources suivants :

  • Makefile : le script GNU Make permettant d'automatiser la compilation ;
  • rpi3.ld : le script de l'éditeur de liens permettant de produire le binaire ;
  • crt0.S : le code assembleur configurant différents éléments et préparant le système pour l'exécution ;
  • uart.c et uart.h : le code chargé de configurer, d’initialiser et d’utiliser le port série ;
  • et hello.c : notre programme principal.

Ceci va sous peu s'étoffer de bien d'autres fichiers avec pour objectif de nous donner la possibilité d'utiliser la sortie HDMI de la carte pour afficher à l'écran tout ce qui nous…

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • 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
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

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

Colorlight 5A-75B : développement FPGA avec LiteX et petits hacks

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Dans le petit monde des cartes et des équipements initialement destinés à une tout autre utilisation, mais pouvant faire office de très sympathiques plateformes de développement FPGA, la famille « Colorlight » est presque un classique. Ce matériel, initialement prévu pour être une carte de pilotage de panneaux à LED interfacée en Ethernet, a déjà été évoqué dans les pages de ce magazine, dans un excellent article de Fabien Marteau il y a quelques années [1]. Nous revenons ici sur le sujet, avec une approche différente et, surtout, une modification matérielle permettant d'en tirer vraiment le maximum...

Carte PCIe CH368 et pilotage depuis l'espace utilisateur : récit d'un échec

Magazine
Marque
GNU/Linux Magazine
Numéro
279
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Parfois, on se fixe des objectifs tout en sachant que ce n'est pas vraiment la bonne façon de faire, mais que l'approche visée pourrait être originale, amusante et instructive. Dans cette catégorie de fausses bonnes idées, nous avons le fait de vouloir utiliser un matériel PCIe directement depuis l'espace utilisateur, un peu comme on met en œuvre la libUSB pour un périphérique non directement pris en charge par un pilote noyau. La victime supposée de cette aventure est une carte CH368L, qui en soi est déjà relativement atypique...

Intégrons des IP cores HDL à nos projets LiteX

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Dans un précédent article, nous avons créé notre propre périphérique, écrit en Python/Migen, et l'avons intégré à notre SoC LiteX afin de permettre un pilotage depuis un code C exécuté par le SoC RISC-V (VexRiscv). Mais réimplémenter systématiquement en Migen les éléments dont nous pouvons avoir besoin représente un investissement conséquent en temps et en énergie. Fort heureusement, LiteX permet de relativement simplement intégrer du code HDL, Verilog, VHDL ou autre, et donc de profiter de l'ensemble des IP cores disponibles sous licence open source pour les utiliser dans son projet...

DigiLab : transformez votre Flipper Zero en boîte à outils pour l'électronique

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Le Flipper Zero ne nécessite presque plus d'introduction tant cet appareil de poche sachant gérer RFID/NFC, IR, RF, USB, U2F, HID, iButton, BLE, etc., a su se faire une place dans la trousse à outils de tous les pentesteurs, amateurs d'embarqué, de sans-contact, et que sais-je encore. Mais il manquait une corde à son arc, jusqu'à l'arrivée du DigiLab de Tixlegeek : faire office de multioutil pour l'électronique !

Les listes de lecture

Python niveau débutant

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.

Au pays des algorithmes

11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.

Analyse de données en Python

10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture