Hackable N°
Numéro
40

Programmation Baremetal - Utilisez vos Raspberry Pi sans Linux

Temporalité
Janvier/Février 2022
Image v3
Programmation Baremetal - Utilisez vos Raspberry Pi sans Linux
Article mis en avant

Résumé

Le terme « baremetal », également orthographié « bare metal » ou « bare-metal » signifie « métal nu » et dans le contexte de développement sur plateforme embarquée désigne un développement reposant directement sur le matériel, sans la moindre couche d’abstraction. Ce type de programmation courant avec les microcontrôleurs est plus rare avec des plateformes utilisant des SoC puissants ou disposant de beaucoup de ressources. Pour autant, il est parfaitement possible d'utiliser l'ARM Cortex-A53 d'une Raspberry Pi de cette manière. Voyons cela...

Dans ce numéro...


La carte Arduino UNO s'est vendue à 10 millions d'exemplaires. C'est du moins ce qu'affirme un billet sur le blog officiel et, pour célébrer cela, une carte particulière appelée « UNO Mini Limited Edition » a été mise en vente sur le store pour quelques 40€. À ce prix, vous aurez une version miniaturisée (34,2 x 26,7 mm) de la plus populaire des Arduino, équipée d'un port USB-C et d'un brochage au pas quasi inutilisable, le tout avec (presque) les mêmes caractéristiques qu'une « poussive » UNO standard.
La richesse d'un environnement et d'un framework dépend de nombreux éléments. Nous avons la ou les plateformes matérielles elles-mêmes, la qualité de l'environnement de développement, le nombre d'exemples permettant de prendre en main le microcontrôleur et enfin, la disponibilité de codes réutilisables permettant d'étoffer ses propres projets avec un minimum de travail : les bibliothèques. Sur ce point, la Pico ne dispose pas de solution entièrement clé en main (pour l'instant), mais la structure du SDK permet une approche relativement efficace.
Il existe ! Le premier FPGA avec une chaîne intégralement open source est désormais une réalité. Parler de FPGA est peut-être un peu prétentieux concernant le EOS S3. Disons plutôt que c’est un microcontrôleur à cœur ARM Cortex-M4 qui possède une zone configurable (appelée souvent eFPGA). Mais ce qui est intéressant ici, c’est que les outils de synthèse ainsi que le format du fichier de configuration sont documentés. Ils sont donc utilisables avec des logiciels libres !
La mise au point de programmes fait partie intégrante du processus de développement. Lorsque le code ne se comporte pas comme attendu, la meilleure approche consiste à l'exécuter sous supervision, contrôler son déroulement et analyser précisément son comportement. S'il s'agit de développement sur microcontrôleur, ceci implique l'utilisation de matériels et de logiciels dédiés, une sonde, un outil la contrôlant et un débogueur. Ceci forme une suite parfois délicate à mettre en œuvre, mais il existe une solution plus compacte : la Black Magic Probe.
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.
Chisel est un langage de description de matériel (HDL pour Hardware Description Language) née à l’université de Berkeley en même temps que le jeu d’instructions RISC-V. Chisel est basé sur le langage de programmation multiparadigme Scala. Ce langage permet de décrire un système synchrone et de générer du code Verilog pour la synthèse sur FPGA ou ASIC.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Le combo gagnant de la virtualisation : QEMU et KVM

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

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Brève introduction pratique à ZFS

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

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

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

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Body