Débuter avec le bras
Sur cette page
Variantes
Il existe de nombreuses variantes différentes de l’architecture et des implémentations ARM qui ont évolué au fil du temps. La notation peut prêter à confusion. Par exemple, arm7 et armv7 sont complètement différents. La première est une implémentation CPU ; la seconde est une architecture CPU. L’architecture, également appelée famille, est un ensemble d’instructions machine (ou ISA pour instruction set architecture) généralement compatibles. Voir : [Liste des microarchitectures ARM de Wikipédia][3] pour en savoir plus.
Balises associées :
- [tag:thumb] - la première version consistait en un ensemble réduit d’instructions 16 bits. thumb2, introduit avec armv6, comprend un mélange d’instructions 16 et 32 bits, étendu davantage dans armv7 de sorte qu’il peut faire la plupart des choses que l’ISA ARM normal peut faire.
- [tag:neon] - une extension SIMD pour les processeurs ARM
- [tag:cortex-m] - un ISA intégré de l’armv7 qui ne prend en charge que thumb2.
- [tag:cortex-a] - la version de l’application armv7 ISA.
- [tag:arm64] - l’architecture du huitième bras (armv8) comprend des registres 64 bits.
- [tag:trust-zone] - une fonctionnalité de sécurité dans certains processeurs armv6, armv8 et armv7.
- [tag:amba] - spécification de bus ou d’interconnexion utilisée entre les processeurs et les périphériques.
D’autres balises spécifiques au processeur existent, telles que [tag:cortex-m3]. Souvent, ces messages s’appliquent à d’autres processeurs cortex-m et/ou la différence entre les versions est importante à comprendre. De plus, les futurs processeurs plus récents peuvent étendre un processeur spécifique et les questions de cette balise peuvent être pertinentes.
Si vous ne publiez que sur la balise [tag:arm], essayez de donner quelques détails sur le système que vous utilisez.
[1] : http://en.wikipedia.org/wiki/ARM_architecture [2] : http://infocenter.arm.com/help/index.jsp [3] : http://en.wikipedia.org/wiki/List_of_ARM_microarchitectures
Construire et exécuter l’assemblage ARM
Pour exécuter le code d’assemblage ARM, vous aurez besoin d’une machine avec un processeur ARM.
Si vous êtes sous Linux, vous pouvez utiliser les commandes suivantes pour compiler votre programme :
as -o prog_object.o my_prog_source.s
Lien pour obtenir l’exécutable :
ld -o run_prog prog_object.o
Exécutez en utilisant :
./run_prog
Si vous exécutez echo $?
il renverra la valeur stockée dans R0