Forum: Mikrocontroller und Digitale Elektronik Assembler mit Arduino


von Fritz f. (avrnoob2)


Angehängte Dateien:

Lesenswert?

Hallo!

Ist es möglich Assembler-Dateien mit Arduino zu schreiben und in den 
Bootloader zu schieben?

Ich habe nämlich 3 Probleme:
1. Ich programmire gern in Assembler
2. Das Programmieren mit STK500 ist zwar gut, aber das Umsockeln vom µC 
sehr Zeitintensiv
3. Es wird behauptet man könne keine Assmlerdateien in der Arbeitsfläche 
des Arduino einbinden.

Zuerst wollte ich mir einen Arduino anschaffen und schauen was der so 
kann und eventuell mein "C" auffrischen. Aber zugleich auch fertige 
Assembler-Programme darauf ausprobieren, sofern dies überhaupt möglich 
ist.

Immerhin gibt es auch zahlreiche Zusatzmodule zum Teil, teils auch in 
Huckepackmontage und wollte eventuell selbst Zusatzmodule aufbauen.
Das Ding ist doch recht handlich und klein ;)

Im Anhang ist eine ASM-File von mir und würde mich freuen, wenn ihr mir 
helfen könntet, eventuell gibt es sogar einen Befehl, um ASM-Befehle in 
C einfach einzubinden.

Schöne Grüße!

von Dominik (Gast)


Lesenswert?

Hi!

Fritz folker schrieb:
> Ist es möglich Assembler-Dateien mit Arduino zu schreiben und in den
> Bootloader zu schieben?

Ich vermute Du meinst mit dem Bootloader in den uC laden? Der Bootloader 
wird dabei nicht verändert...

Ja, das geht. Ich nutze Atmel Studio 6.2 um C/C++/ASM Programme auf 
einen Arduino Leonardo zu flashen. Dazu habe ich AVR-Dude aus dem 
Arduino Paket als externes Tool in Atmel Studio 6-2 eingebunden.

Wenn Du die Sketches in der Arduino IDE mit ASM koppeln willst (google 
hilft hier weiter):

https://ucexperiment.wordpress.com/2013/06/03/gcc-inline-assembler-cookbook/

und

http://nerdralph.blogspot.de/2013/12/writing-avr-assembler-code-with-arduino.html

Ciao
 Dominik

von pypy (Gast)


Lesenswert?

>Ist es möglich Assembler-Dateien mit Arduino zu schreiben

ja

>und in den Bootloader zu schieben?

ja, aus welcher Programmiersprache das .hex file entstanden ist ist dem 
bootloader egal.

Upload mit avrdude:    (im bash interpreter)
avrdude -U flash:w:[put-hex-file-path-here]:i -C avrdude.conf -v -p 
atmega328 -b 115200 -c stk500v2 -P [put-device-path-here]

mein arduino nanov3 wollte immer diese baudrate: -b 57600 also auch mal 
damit probieren, wenn es mit 115200 nicht klappt.


>Arduino-Boards können auch unabhängig von der Arduino-Entwicklungsumgebung 
(Arduino-IDE) als AVR-Entwicklungsboard genutzt werden.

Assembler:
>Windows-User können das AVR-Studio von Atmel verwenden, das neben dem Assembler 
auch einen Simulator enthält, mit dem sich die Programme vor der Übertragung in 
den Controller testen lassen; für Linux gibt es tavrasm, avra und gavrasm.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Software

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.