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

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.

Body