Publié le 13 décembre 2019 - par

Tout sur l’assembleur ARM pour le Raspberry Pi

Je viens d’une époque où l’assembleur était le premier langage qu’on apprenait. Eh oui, j’ai adoré l’assembleur du Z80 et celui du 6800 ! Alors quand j’ai découvert le blog de Vincent, j’ai été scotché par la quantité et la qualité de son contenu…

Tout sur l’assembleur ARM du Raspberry Pi

Je vous propose de lire l’introduction de Vincent sur le blog et je pense que vous irez le visiter ensuite !

N’hésitez pas à revenir faire vos remarques dans les commentaires ci-dessous.

jeudi 19 octobre 2017

Introduction

Ce blog a été créé pour raconter mon expérience sur la programmation en assembleur avec le Raspberry pi et pour guider les personnes débutantes intéressées par l’assembleur ARM sur ce matériel.

J’ai acquis récemment un Rasperry modèle 1B (512MO de ram) et je me suis demandé ce que je pouvais en obtenir en matière de formation à la programmation. Connaissant déjà le langage C et des langages de haut niveau comme Java, l’apprentissage d’un nouveau langage comme Python ne me semblait pas intéressant. Par contre en étudiant les caractéristiques du processeur du Raspberry, je me rends compte qu’il s’agit d’un processeur de type RISC avec un jeu d’instruction réduit. Cela me changeait des processeurs Intel avec leurs centaines d’instructions Assembleur et en plus dans un environnement Windows.

Je décidais donc de me lancer dans la programmation en assembleur pour voir quelles étaient les limites de son utilisation sur un Raspberry dans un environnement LINUX. De plus conscient de la faible puissance du processeur et de la taille limitée de l’espace mémoire du Raspberry, je supposais que des programmes écrits dans ce langage seraient plus performants que des programmes écrits en langages de haut niveau.

Mais ce blog ne sera pas un cours formel sur l’assembleur ARM mais plutôt l’utilisation de celui-ci dans l’environnement Linux du Raspberry. Pour une bonne présentation des instructions de assembleur, je vous conseille (hélas en anglais) le site suivant : http://thinkingeek.com/arm-assembler-raspberry-pi/

Attention : apprendre l’assembleur ne sert que pour connaitre les principes de base du fonctionnement d’un processeur, pour des besoins de formation ou d’écriture d’algorithmes performants. Si vous voulez écrire des programmes complets rapidement et proches de la machine, je vous conseille plutôt d’utiliser le langage C .

Sources

https://assembleurarmpi.blogspot.com/

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

6 réflexions au sujet de « Tout sur l’assembleur ARM pour le Raspberry Pi »

  1. Will_tam

    Bonjour et merci pour ce lien.

    Ayant été un fana de l’assembleur à la « belle-époque » des 80×6, c’est une belle surporise que celle-ci pour voir un peu du coté de l’ARM.

    Bonne continuation.

    Répondre
  2. bzh44

    Voilà qui me rappelle mes débuts il y a bien longtemps (dans une galaxie pas si lointaine). A l’époque il n’y avait pas de Raspberry Pi mais un Oric Atmos branché sur une bonne grosse télé. Et vas-y que je tape le code assembleur du 6502. Mais bon … je n’ai pas connu les cartes perforées !

    Répondre
  3. Bertomeu

    Sur PC il y avait A86 de Eric Isacson c etait un macroassemleur qui compilait en une seule passe un programme .com que l on pouvait deboguer avec le debogueur symbolique D86 SUPER !
    J attends toujours ca sur Raspberry Pi

    Répondre
  4. Gordon

    Salut à tous.

    Comme beaucoup d’ancien, mon premier assembleur a été le 6502 avec son contrôleur de port 6522.
    Et oui, c’était fin des années 70, avec l’apparition de l’ITT 2020, qui est un copie de l’Apple II+.
    Ensuite, jai fait de l’assembleur IBM360 qui était associé au cobol, sur gros système IBM.
    Puis pour le plaisir, le z80, 6800, 68000. Par contre, je ne connais pas l’assembleur 8086.

    Ca y est, je me suis mis à l’assembleur ARM de la raspberry.
    J’ai découvert le blog de M. Vincent Leboulou qui nous fait part de son apprentissage et de ses découvertes.
    Bravo pour le temps qu’il a consacré à son retour d’expérience.

    En ce qui me concerne, je vais surtout utiliser l’assembleur en association du ‘C’ et du ‘C++’, pour résoudre quelques problèmes liés aux interfaces.
    Comme par exemple, les GPIO, le SPI (Serial Peripheral Interface), I[sup]2[/sup]C ((Inter Integrated Circuit) …

    @+

    Répondre
  5. Henry

    Bonjour,

    effectivement c’est un super blog (tout comme Framboise314 d’ailleurs) néanmoins on ne peut malheureusement pas contacter l’auteur. En effet j’aurais aimé avoir des précisions sur les programmes BufferFrame notamment le programme frametest164.s ou j’ai quelques difficultés avec les variables et le graphisme. Sincères remerciements pour vos Blogs

    Bien cordialement.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.