Arduino mit Assembler programmieren?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.