Arduino mit Assembler programmieren?
Ich wollte mal fragen ob ich den Arduino auch mit Assembler programmieren kann: Ich habe nämlich vor Assembler zu lernen.
LG schmiddi201
2 Antworten
Prinzipiell ja.
Das "offizielle" Programm zum Programmieren des Arduino verwendet den GCC für AVR, der wiederum den Binutils-Assembler für AVR verwendet.
Mit einem Trick ist es möglich, eine Assembler-Datei in ein Arduino-Projekt einzubinden, ohne irgendwelche Zusatzsoftware zu brauchen. Dazu erstellt man eine C-Datei mit genau einer Zeile Code:
asm(".include \"c:/vollstaendiger/dateiname/der/datei.asm\"");
Theoretisch kann man diese Zeile auch ans Ende einer C-Datei mit C-Code schreiben.
(Die Backslashes (\) des Dateinamen müssen dabei durch normale Slashes (/) ersetzt werden und es muss der volle Dateinamen der Assembler-Datei angegeben werden!)
In der Assembler-Datei werden dann die Funktionen "setup" und "loop" definiert:
.global setup
setup:
...
.global loop
loop:
...
Man könnte den Arduino auch komplett in Assembler programmieren, aber dies wäre extrem aufwändig und würde eventuell noch ein Zusatztool zum Hochladen der HEX-Datei benötigen!
Ja, wenn der Speicherplatz reicht kannst du das entsprechende Paket installieren.