armAan de slag met arm


Opmerkingen

Deze sectie geeft een overzicht van wat een arm is en waarom een ontwikkelaar hem misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen de arm vermelden en een link naar de gerelateerde onderwerpen. Aangezien de Documentatie voor arm nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Bouw en voer ARM-assemblage uit

Om ARM-assemblagecode uit te voeren, hebt u een machine met een ARM-processor nodig.

Als u Linux gebruikt, kunt u de volgende opdrachten gebruiken om uw programma te compileren:

as -o prog_object.o my_prog_source.s

Link om het uitvoerbare bestand te krijgen:

ld -o run_prog prog_object.o

Uitvoeren met:

./run_prog

Als je echo $? uitvoert echo $? het zal de waarde retourneren die is opgeslagen in R0

varianten

Er zijn veel verschillende varianten van de ARM-architectuur en implementaties die zich in de loop van de tijd hebben ontwikkeld. De notatie kan verwarrend zijn. Arm7 en arm v 7 zijn bijvoorbeeld compleet verschillend. De eerste is een CPU-implementatie; de tweede is een CPU-architectuur. De architectuur , ook wel een familie genoemd , is een set machine-instructies (of ISA voor instructieset-architectuur ) die over het algemeen compatibel zijn. Zie: Wikipedia's lijst met ARM-microarchitecturen voor meer.

Gerelateerde tags:

  • - de eerste versie bestond uit een beperkte set van 16bit-instructies. thumb2 , geïntroduceerd met armv6, bevat een mix van 16 en 32bit instructies, verder uitgebreid in armv7 zodat het de meeste dingen kan doen die de normale ARM ISA kan.
  • - een SIMD-extensie voor ARM-CPU's
  • - een ingebedde ISA van de armv7 die alleen thumb2 ondersteunt.
  • - de applicatieversie van armv7 ISA.
  • - de achtste armarchitectuur (armv8) omvat 64bit registers.
  • - een beveiligingsfunctie in sommige armv6-, armv8- en armv7-CPU's.
  • - bus- of interconnectspecificatie die wordt gebruikt tussen CPU's en randapparatuur.

Er bestaan andere CPU-specifieke tags, zoals . Vaak zijn die berichten van toepassing op andere cortex-m CPU's en / of is het verschil tussen de versies belangrijk om te begrijpen. Ook nieuwere toekomstige CPU's kunnen een specifieke CPU uitbreiden en vragen in die tag kunnen relevant zijn.

Als je alleen berichten op de tag- probeer dan enkele bijzonderheden te geven over het systeem dat je gebruikt.