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

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.

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

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

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Body