# ARM Toolchain ![image_296.png](image_296.png) ## Targets ### Entwicklung auf dem Device - Native Toolchain - Benötigt ein OS ### Cross Entwicklung - Compiler auf dem PC übersetzt für Hardware für die Zielplattform ### Entwicklung im Emulator auf dem PC - Compiler auf dem PC übersetzt für Hardware, ausgeführt im Simulator - Wenn Hardware nicht verfügbar oder Entwicklung zeitaufwändig - Insight, QEmu ### Bare Metal - Für Mikroprozessor ohe BS ### Betriebssysteme - Linux - Embedded Windows - Realtime OS ## Toolchain für das Praktikum ![image_297.png](image_297.png) ## GNU ARM Assembler - ![image_298.png](image_298.png) - rn = Registername ### Assembler-Direktiven - können Übersetzungsvorgang steuern - können Speicherbereiche für das Programm reservieren - ![image_300.png](image_300.png) - können Datenstrukturen für das Programm anlegen und initialisieren - ![image_299.png](image_299.png) ### Pseudobefehle - Befehle, die es in der Maschinensprache nicht gibt, aber häufig gebraucht werden - Assembler übersetzt diese in eine geeignete Sequenz von "echten" Assemblerbefehlen - Beispiel: - ![image_301.png](image_301.png) -