Forum: Mikrocontroller und Digitale Elektronik Mikrocontrollerprogrammierung mit Ubuntu (AVRISPmkII/ATMega32)


von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo an alle,
auch wenn das vielleicht schonmal ähnlich gemacht wurde, bitte ich Euch, 
mich bei meinem Anliegen zu unterstützen.
Ich bin vor kurzem auf Ubuntu umgestiegen, unabhängig davon möchte ich 
jetzt mit der Mikrocontrollerprogrammierung anfangen (bis jetzt nur 
Erfahung mit Lego NXT). Leider schaffe ich (mehr oder weniger) genau das 
nicht!
Ich habe mir das RN-Control 1.4 und den Atmel AVRISPmkII bei 
robotikhardware.de gekauft, aber anscheinend kann mir im dortigen Forum 
nicht weitergeholfen werden.
Ich möchte jetzt mal einfach das Beispielprogramm (Anhang (RNCtrl.c)) 
kompilieren. Dieses Programm ist bei Auslieferung auf dem Board, das 
funktioniert auch, ber ich scheitere schon beim Kompilieren im Terminal. 
Ich habe folgende Pakete installiert:
-avrp
-avr-libc
-binutils-avr
-avrprog
-uisp
-gcc-avr
-avrdude
-libusbprog0
Ich verwende das Makefile im Anhang (GNUmakefile). Wenn ich im Terminal 
in das Verzeichnis/den Ordner wechsle, in dem das Makefile und das 
Programm gespeichert sind und make eingebe, kommen viele Fehlermeldungen 
(siehe Error.txt im Anhang).
Das ist echt zum Verzweifeln... Ich weiß nicht mehr, was ich tun soll!
Ich hoffe, mir kann von Euch geholfen werden!
Tausend Dank schonmal im Vorraus und
Viele Grüße
Jan

von power (Gast)


Lesenswert?

#include <stdlib.h>
#include <avr/io.h>
mal ganz an den Anfang schreiben. auf jeden Fall vor die erste Funktion 
die Ports usw. benutzt.

von Jan (Gast)


Lesenswert?

Hallo,
ja, danke, jetzt funktioniert das Kompilieren endlich!
Beim übertragen mit make flash bekomme ich aber folgenden Fehler:

jan@JANS-LAPTOP:~/Roboter/AVR/RN_Control_1.4$ make flash
stty hupcl < /dev/ttyACM0; \
  avrdude -p m8 -c stk500v2 -e  -U flash:w:RNCtrl.hex -P /dev/ttyACM0
/bin/sh: cannot open /dev/ttyACM0: No such file
avrdude: ser_open(): can't open device "/dev/ttyACM0": No such file or 
directory
make: *** [flash] Fehler 1

Was bedeutet das? Findet der den Programmer nicht? Der Programmer hat 
zwei LEDs, beide leuchten grün, er ist an das Board angeschlossen. Wenn 
ich das Board ausschalte, wechselt die eine LED von grün nach rot, also 
wird das Teil selbst wohl funktionieren. Fehlt vielleicht doch noch ein 
Treiber, oder muss ich dem Makefile irgendwo mitteilen, wo der 
Programmer angeschlossen ist und was das für ein Programmer (also 
AVRISPmkII) ist?
Vielen Dank für Eure Hilfe und
Viele Grüße
Jan

von Tom M. (tomm) Benutzerseite


Lesenswert?

Jan schrieb:
> avrdude -p m8 -c stk500v2 -e  -U flash:w:RNCtrl.hex -P /dev/ttyACM0

da sollte IMO stehen:
1
-c avrispmkII

Wahrscheinlich ist das im Makefile noch nicht korrekt definiert.

Was wahrscheinlich auch nicht stimmt ist das Device (-P), offensichtlich 
existiert auf deiner Maschine kein ttyACM0. Auf meiner Kiste heisst das 
irgendwas mit /dev/USB...

mach mal folgendes:

Terminal öffnen und eintippen:
1
sudo tail -F /var/log/messages

Dann Programmer abziehen, kurz warten, einstecken.

Hast du jetzt ne Meldung, wie der Programmer angebunden wird?

HTH! :)

von ... - - - ... (Gast)


Lesenswert?

na ja, das ist jetzt ein Linuxproblem. Du musst erstmal das Device 
ttyACM0 anlegen, bevor du es nutzen kannst. Das Device ttyACM0 ist ein 
ACM USB Modem. Du brauchst bestimmt ein anderes, kannst hier nachlesen:

http://www.mikrocontroller.net/articles/AVRDUDE

von Tom M. (tomm) Benutzerseite


Lesenswert?

Für Ubuntu ist wohl etwas Handarbeit nötig, um den avrispmkII an USB zum 
Laufen zu bringen:

http://stackoverflow.com/questions/5412727/avrisp-mkii-doesnt-work-with-avrdude-in-linux

HTH.

von Jan (Gast)


Lesenswert?

Hallo,
@Tom M.: Ich habe das gerade ausprobiert, aber dabei passiert nichts, 
auch nicht, wenn ich meine USB Maus herausziehe.
@... - - - ...: Soll ich da in einer anderen Forum unterkategorie 
nachfragen? Welche denn? Oder hast Du damit was anderes gemeint?
@Tom M.: Ich probiere das gleich mal aus. Wenn das nicht klappt, soll 
ich dann lieber in einer andern Unterkategorie nochmal nachfragen?
Danke und
Viele Grüße
Jan

von Oliver (Gast)


Lesenswert?

Jan schrieb:
> Wenn das nicht klappt, soll
> ich dann lieber in einer andern Unterkategorie nochmal nachfragen?

Nein. Ein Thread zum Thema ist schon in Ordnung.

Es ist halt etwas suboptimal, mit der Controllerprogrammierung auf einem 
Betriebssystem anzufangen, von dem man auch keine Ahnung hat. Das flacht 
die Lernkurve doch erheblich ab.

Oliver

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
@Oliver: Ich weiß, das war nicht so ganz schlau von mir. Aber was bringt 
es mir, wenn es auf Windows funktioniert, ich aber mit Ubuntu arbeiten 
möchte? Wenn es dann klappt, habe ich (hoffe ich mal) mehr gelernt, als 
mit einer anderen Möglichkeit.

Ich habe die Anleitung jetzt mal ausprobiert. Mein Programmer wird 
erkannt (mit jan@JANS-LAPTOP:/dev$ tail -f /var/log/syslog). Anscheinend 
funktioniert das, wenn ich make flash eingebe, wird kompiliert und 
anscheinend auch übertragen (der Programmer blinkt, ich habe ein Adapter 
von 6/10 Anschlüsse für ISP, dort blinkt die Takt LED, das Board piept), 
aber anscheinend wird das Programm nicht übertragen. Folgendes steht im 
Terminal:

jan@JANS-LAPTOP:~/Roboter/AVR/RN_Control_1.4$ make flash
avrdude -p m8 -c avrispmkII -e  -U flash:w:RNCtrl.hex -P usb

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.01s

avrdude: Device signature = 0x1e9502
avrdude: Expected signature for ATMEGA8 is 1E 93 07
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

make: *** [flash] Fehler 1

Was ist das Problem? Ich habe mein aktualisiertes Makefile wieder im 
Anhang. In dieser Meldung steht wieder was von ATMEGA8, davon steht aber 
nichts im Makefile...
Vielen Dank für Eure Hilfe bis jetzt und
Viele Grüße
Jan

von Jan (Gast)


Lesenswert?

Ah, Problem gelöst: Bei flash musste m8durch m32 getauscht werden.
Danke für Eure Hilfe und
Viele Grüße
Jan

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Jan schrieb:
> jan@JANS-LAPTOP:~/Roboter/AVR/RN_Control_1.4$ make flash
> avrdude -p m8 -c avrispmkII -e  -U flash:w:RNCtrl.hex -P usb

> avrdude: Expected signature for ATMEGA8 is 1E 93 07

> Was ist das Problem? Ich habe mein aktualisiertes Makefile wieder im
> Anhang. In dieser Meldung steht wieder was von ATMEGA8, davon steht aber
> nichts im Makefile...

Ich kenne jetzt nicht acrdude, aber muß der Parameter nicht "-p m32" 
heisen?

Grüße
Michelle

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.