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...


Beaucoup considèrent l'assembleur comme quelque chose d'un autre âge, celui de la programmation des Atmel AVR avec trop peu de SRAM pour supporter un développement C ou encore des MicroChip PIC comme le 16F84. Il n'y a rien de plus faux, car la judicieuse utilisation d'un langage ne se définit pas en termes temporels, mais en fonction des avantages, des besoins et des contraintes. Même si aujourd'hui, il serait impensable d'utiliser ce langage pour développer tout un projet sur une plateforme disposant de centaines de kilooctets de RAM et de flash, l'assembleur est toujours présent et apparaît comme une évidence, pour peu que l'on se rapproche du matériel. Qu'il s'agisse de bootloader, de vecteur d'initialisation, de CRT ou de routines nécessitant des performances accrues, le langage d'assemblage n'est pas un choix, c'est une nécessité.

Comme nous allons le voir, les langages de plus haut niveau, ainsi que les bibliothèques qui les accompagnent facilitent…

La suite est réservée aux abonnés. Il vous reste 98% à découvrir.
  • 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
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Comprendre pour se protéger : écrivez votre premier rootkit

Magazine
Marque
GNU/Linux Magazine
Numéro
278
Mois de parution
novembre 2025
Spécialité(s)
Résumé

L'apprentissage est plus aisé lorsqu'il est ludique. N'importe quel parent ou (bon) enseignant sait ça, et c'est tout autant vrai à l'âge adulte, en particulier dans le domaine qui est le nôtre. Et quoi de plus ludique que de jouer au gendarme et au voleur, pour comprendre comment des « vilains méchants à capuche » font pour se ménager une porte d'entrée une fois un système corrompu. La petite exploration qui va suivre est assez naïve par rapport aux techniques modernes de dissimulation, mais sera parfaite pour se mettre le pied à l'étrier, en particulier si vous n'avez jamais mis votre nez dans les appels système ou les outils de diagnostic et de débogage intégrés au noyau Linux.

Renforcez la sécurité de votre Home Assistant

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

La domotique, c'est fantastique ! Surtout quand ça ne coûte pas trop cher, que ça rend service aussi bien pour le contrôle des lumières, le suivi de la consommation électrique, le contrôle de l'environnement ou l'automatisation, et que tout cela fonctionne avec du logiciel libre, sans exfiltrer des tonnes de données privées chez un fournisseur qui se fera tôt ou tard pirater. Mais à trop vouloir jouer la carte de la sécurité, on se prive parfois de certains avantages. Trouvons donc le bon compromis pour rendre notre installation accessible, sans créer d'énormes brèches...

STC15 : les microcontrôleurs avec un cœur vieux de 45 ans sont toujours d'actualité !

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Le monde des MCU semble aujourd'hui très homogène et surtout totalement dominé par les architectures ARM, ce qui est, d'un certain point de vue, relativement vrai. Mais les alternatives sont nombreuses, qu'il s'agisse de classiques du genre comme Atmel AVR, de « nouveaux » venus comme l'écosystème ESP32 et/ou une architecture (ISA) conquérant chaque jour plus de part de marché, à savoir le RISC-V. Et dans cet univers parallèle à l'ARM, on trouve des choses qui peuvent paraître assez surprenantes, comme un microcontrôleur développé par Intel en 1980 : le 8051. Et celui-ci est toujours au goût du jour, un nouveau modèle est même arrivé l'été dernier, c'est dire !

Les listes de lecture

7 article(s) - ajoutée le 01/07/2020
La SDR permet désormais de toucher du doigt un domaine qui était jusqu'alors inaccessible : la réception et l'interprétation de signaux venus de l'espace. Découvrez ici différentes techniques utilisables, de la plus simple à la plus avancée...
8 article(s) - ajoutée le 01/07/2020
Au-delà de l'aspect nostalgique, le rétrocomputing est l'opportunité unique de renouer avec les concepts de base dans leur plus simple expression. Vous trouverez ici quelques-unes des technologies qui ont fait de l'informatique ce qu'elle est aujourd'hui.
9 article(s) - ajoutée le 01/07/2020
S'initier à la SDR est une activité financièrement très accessible, mais devant l'offre matérielle il est parfois difficile de faire ses premiers pas. Découvrez ici les options à votre disposition et les bases pour aborder cette thématique sereinement.
Plus de listes de lecture