Développement baremetal et bas niveau sur ARM

Lorsqu'il s'agit de tirer le maximum d'une plateforme, on ne peut s'encombrer d'un système d'exploitation. Retrouvez dans cette liste de quoi concrètement explorer le monde de la programmation baremetal sur architecture ARM.
Nombre d'articles :
4 article(s)
Type de liste de lecture
Cas pratiques
Niveau :
Intermédiaire

Développement baremetal sur Raspberry Pi 3

Magazine
Marque
Hackable
Numéro
40
Mois de parution
janvier 2022
Spécialité(s)
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...

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.

Développement baremetal sur Pi 3 : les performances

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

Dans l'article précédent, nous avons été capables d'afficher à l'écran une image, traitée par l'application Gimp et intégrée à notre code. Mais si vous avez reproduit ces essais, en particulier avec une image d'une dimension non négligeable, vous avez sans le moindre doute remarqué un petit problème de performances. Si nous voulons utiliser le framebuffer de façon acceptable, nous devons régler ce problème.

Assembleur sur ARM Cortex-M : technique, mais pas si difficile...

Magazine
Marque
Hackable
Numéro
39
Mois de parution
octobre 2021
Spécialité(s)
Résumé

Choisir un langage pour un projet est une question d'équilibre entre confort et rapidité de développement d'une part et performance de l'autre. C'est précisément là la raison pour laquelle des langages comme C, C++ et depuis peu, Rust sont omniprésents, dès lors qu'on parle d'embarqué et de microcontrôleur. Aux deux extrémités du spectre des langages, nous avons JS ou Python d'un côté et l'incontournable assembleur de l'autre. Celui-là même dont nous allons nous occuper ici...