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
#include <stdlib.h> #include <avr/io.h> mal ganz an den Anfang schreiben. auf jeden Fall vor die erste Funktion die Ports usw. benutzt.
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
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! :)
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
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.
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
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
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
Ah, Problem gelöst: Bei flash musste m8durch m32 getauscht werden. Danke für Eure Hilfe und Viele Grüße Jan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.