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 chante, ou presque. Mais avant d'en arriver là, nous avons beaucoup de travail à faire et beaucoup à prendre. En effet, et vous l'aurez sans doute remarqué, par défaut un moniteur connecté en HDMI à la Pi n'affiche pas grand-chose avec...

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

Hydrabus : un outil pour tous les bus

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

Vous connaissez la routine : un convertisseur USB/série, un analyseur logique, un petit bout de code sur un Arduino ou un ESP8266 pour vérifier un capteur i2c, une sonde JTAG, un programmeur de flash CH341A ou TL866A, un adaptateur CAN/USB, un programmeur SWD... Et forcément, le matériel qu'il vous faut n'est pas sous la main. Hydrabus est un projet open hardware et open source, cousin du Bus Pirate, qui règle ce problème. Un seul outil pour plein d'usages, un vrai couteau suisse des bus et interfaces en tous genres.

Reverse : utiliser son imprimante à étiquette sans BLE et en USB

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

AliExpress et Amazon sont de véritables mines d'or pour qui est prudent et prend son temps. On trouve ainsi tout un tas de petits accessoires électroniques qui sont non seulement fort pratiques, mais cachent également un petit jeu intégré. Le jeu s'appelle : « oui, mais moi je veux pas l'utiliser comme c'est prévu ». Dans cette catégorie, je vous présente l'imprimante thermique L1-A de MakeID, censée être utilisée en Bluetooth Low Energy (?) avec son smartphone et via l'application du constructeur. « Censée » est le mot important dans cette dernière phrase...

ESP32 : créer ses composants réutilisables avec ESP-IDF

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

Vous connaissez certainement l'habituelle routine de développement. On part d'une page vierge et l’on expérimente jusqu'à obtenir un résultat fonctionnel, puis on affine, on nettoie, on sépare le code de test des routines « utilitaires » et l’on fait en sorte d'avoir, dans un ou plusieurs fichiers sources, quelque chose qu'on pourra réutiliser avec un autre projet. Mais, avec l'ESP-IDF, l'environnement de développement pour les ESP32, il est possible de pousser cela plus loin, et de façon plus rationnelle...

Les derniers articles Premiums

Les derniers articles Premium

Les nouvelles menaces liées à l’intelligence artificielle

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

Sommes-nous proches de la singularité technologique ? Peu probable. Même si l’intelligence artificielle a fait un bond ces dernières années (elle est étudiée depuis des dizaines d’années), nous sommes loin d’en perdre le contrôle. Et pourtant, une partie de l’utilisation de l’intelligence artificielle échappe aux analystes. Eh oui ! Comme tout système, elle est utilisée par des acteurs malveillants essayant d’en tirer profit pécuniairement. Cet article met en exergue quelques-unes des applications de l’intelligence artificielle par des acteurs malveillants et décrit succinctement comment parer à leurs attaques.

Migration d’une collection Ansible à l’aide de fqcn_migration

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

Distribuer du contenu Ansible réutilisable (rôle, playbooks) par l’intermédiaire d’une collection est devenu le standard dans l’écosystème de l’outil d’automatisation. Pour éviter tout conflit de noms, ces collections sont caractérisées par un nom unique, formé d’une espace de nom, qui peut-être employé par plusieurs collections (tel qu'ansible ou community) et d’un nom plus spécifique à la fonction de la collection en elle-même. Cependant, il arrive parfois qu’il faille migrer une collection d’un espace de noms à un autre, par exemple une collection personnelle ou communautaire qui passe à un espace de noms plus connus ou certifiés. De même, le nom même de la collection peut être amené à changer, si elle dépasse son périmètre d’origine ou que le produit qu’elle concerne est lui-même renommé.

Mise en place d'Overleaf Community pour l’écriture collaborative au sein de votre équipe

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

Si vous utilisez LaTeX pour vos documents, vous connaissez vraisemblablement Overleaf qui vous permet de rédiger de manière collaborative depuis n’importe quel poste informatique connecté à Internet. Cependant, la version gratuite en ligne souffre de quelques limitations et le stockage de vos projets est externalisé chez l’éditeur du logiciel. Si vous désirez maîtriser vos données et avoir une installation locale de ce bel outil, cet article est fait pour vous.

Les listes de lecture

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.
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.
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.
Voir les 94 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous