Forum: Mikrocontroller und Digitale Elektronik Problem mit Robo RP6 und AVR Studio


von Peter S. (peter_s17)


Lesenswert?

Hallo zusammen,

das ist mein erster Beitrag hier, daher verzeiht mir bitte die 
Anfängerfrage.
Bitte verzeiht mir auch, dass ich in der Suche nichts passendes gefunden 
habe, oder eventuell falsch gesucht habe ;)

Jetzt aber zu meinem Problem.
Ich habe mir einen Robo RP6 bestellt und hab auch schon kleinere 
Programme dafür geschrieben und wie folgt in den Controller geladen:

Programm im AVR Studio geschrieben und in einem beliebigen Ordner 
gespeichert.
Dort die makefiles hineinkopiert und den Patch zum erstellen der hex 
Datei ausgeführt.
Die hex Datei mit dem RP6 Uploader hochgeladen.

Aber ich möchte das alles nur mit dem AVR Studio machen, also Programm 
schreiben, kompilieren und hochladen.
Oder geht das nicht?

Problem dabei ist das ich keine Verbindung aufbauen kann, da ich nicht 
weiß welchen "AVR Programmer" ich auswählen soll.

Thanx schon mal für eure Hilfe.

LG Peter

von Hubert G. (hubertg)


Lesenswert?

Wenn du dir nach dem Starten vom AVR-Studio auf "New Projekt" gehst dann 
kannst du dir das Verzeichnis auswählen.
Dann weiter AVR-Simulator und den Kontroller auswählen
Und schon gehts weiter mit Programm schreiben.
Kompiliert wird mit F7 oder dem Icon "Build active configuration"
Programmer Auswahl mit dem Icon "Build the `Connect`Dialog"
In den Controller laden mit dem Icon rechts davon.
Was hast du für einen Programmer?

von Peter S. (peter_s17)


Lesenswert?

Danke für deine Antwort.

"Dann weiter AVR-Simulator und den Kontroller auswählen" <- genau das 
ist mein Problem ich weiß nicht welchen Kontroller ich wählen soll.
Auf dem Robo RP6 ist ein ATmega32L verbaut ...

Pls 4 help

Aja der Programmer war schon beim RP6 dabei, kann man direkt über USB 
anschließen!

von Karl H. (kbuchegg)


Lesenswert?

Peter S. schrieb:

> ist mein Problem ich weiß nicht welchen Kontroller ich wählen soll.
> Auf dem Robo RP6 ist ein ATmega32L verbaut ...

Dann wählst du einen ATMega32 aus.

> Aja der Programmer war schon beim RP6 dabei, kann man direkt über USB
> anschließen!

Wie hat sich der gemeldet.
Schau mal in die Systemsteuerung in den Gerätemenager, wie sich der 
Programmer identifiziert hat.

von Peter S. (peter_s17)


Lesenswert?

In der Liste finde ich aber leider keinen ATMega32 das ist mein Problem.

Wegen dem Programmer werde ich am Abend nachsehen und mich dann melden.

Danke euch für die Hilfe ;)

von ich (Gast)


Lesenswert?

>In der Liste finde ich aber leider keinen ATMega32

könnte ach mega32 heißen...

von Karl H. (kbuchegg)


Lesenswert?

Peter S. schrieb:
> In der Liste finde ich aber leider keinen ATMega32 das ist mein Problem.

In welcher Liste?

In der vom AVR-Studio?

Kann ich mir nicht vorstellen. Der ist da mit Sicherheit drinnen. 
Alphabetisch Suchen, nicht nach Zahlen! Ein ATMega168 kommt in dieser 
Liste vor einem ATMega32, weil '1' kleiner als '3' ist, selbst wenn 32 
kleiner als 168 wäre.

von Peter S. (peter_s17)


Lesenswert?

Peter S. schrieb:
> Wegen dem Programmer werde ich am Abend nachsehen und mich dann melden.

Meldet sich als RP6 USB Interface -> USB Serial Converter

Hab den Programmer jetzt im AVR Studio gefunden, war anscheinend schon 
zu müde ;)

Aber wenn ich ein Mini-Programm schreibe, welches mit dem Makefile 
funktioniert hat, hätte ich jetzt versucht mit dem AVR Studio zu 
kompilieren.
Hab einfach den Button Build Active Configuration angeklickt und 
folgende Fehlermeldung erhalten:

../hello_world.c:5: error: (Each undeclared identifier is reported only 
once
../hello_world.c:5: error: for each function it appears in.)
../hello_world.c:5: error: expected ';' before 'x'
../hello_world.c:6: error: 'x' undeclared (first use in this function)
../hello_world.c:8: warning: implicit declaration of function 
'writeString_P'
../hello_world.c:12: warning: implicit declaration of function 
'writeString'
make: *** [hello_world.o] Error 1
Build failed with 6 errors and 3 warnings...

Was kanns da schon wieder haben?

von Karl H. (kbuchegg)


Lesenswert?

Peter S. schrieb:

> Was kanns da schon wieder haben?

Ganz normale Programmierfehler :-)

von Peter S. (peter_s17)


Lesenswert?

Bitte entschuldigt, wollte den Beitrag gerade nochmal löschen.

Jetzt aber hoffentlich eine letzte Frage für heute (und hoffentlich auch 
sinnvoll ;) ):

Wenn ich den Button "Connect to the Selected AVR Programmer" anklicke 
bekomme ich immer einen Dialog mit der Auswahl der Programmer.
Ich hab schon alle durchprobiert, aber keiner funkt.

von Hubert G. (hubertg)


Lesenswert?

Kann auch so nicht funktionieren.
In deinem Mega32 ist ein Bootloader, solange du den 
USB-Seriell-Konverter benutzen willst, geht das nur über deinen RP6 
Uploader.
Wenn du das AVR-Studio benutzen willst brauchst du einen ISP-Programmer.

von RTFM (Gast)


Lesenswert?

Doch klar geht das.
Einfach den RP6Loader neben AVRStudio lassen und dort das Hexfile von 
Deinem Projekt hinzufügen.  Dann einfach zum upload kurz auf den 
RP6Loader wechseln und STRG+D drücken.

Vorteil: Hast auch direkt ein Terminal für Debug Ausgaben.

von -schumi- (Gast)


Lesenswert?

Hi

Wie Hubert es schon gesagt hat geht das so nicht so einfach. Auf dem RP6 
ist ein Bootloader drauf (der Mikrocontroller liest was der PC im sendet 
und programmiert sich dann selbst). Dummerweise ist der Bootloader und 
der RP6Loader closed source, es bleibt dir also bis jetzt nichts anderes 
übrig als den originalen RP6-Loader zu benutzen (der zu allem Übel nicht 
mal über die Kommandozeile steuerbar ist)

Wenn du dann etwas mehr Erfahrung mit dem Roboter/Mikrocontrollern hast 
kannst du ein paar Leitungen auf der Platine trennen, eine Buchse 
anlöten und den Roboter per ISP (also AVR Studio oder ähnliches) 
programmieren. Aber das ist für deinen derzeitingen Wissenstand noch 
ziemlich grob...

MfG
-schumi-

von -schumi- (Gast)


Lesenswert?

Achja, noch was. Schau mal da vorbei:
http://www.roboternetz.de/phpBB2/viewforum.php?f=49
(Die Seite ist zwar etwas langsahm, aber dafür findet man unmengen an 
kompetenten Leuten, die sich richtig gut mit dem RP6 auskennen)

von Peter S. (peter_s17)


Lesenswert?

Danke euch herzlich für die hilfreichen Beiträge.

Da ich mich ja noch länger mit Microcontroller beschäftigen möchte und 
nicht nach dem RP6 aufhören werde, wollte ich nachfragen welchen ISP ihr 
mir empfehlen könnt.
Am besten wäre natürlich einer der mit ziemlich vielen Sachen kompatibel 
wäre.

von Hubert G. (hubertg)


Lesenswert?

Da gibt es etliche Programmer. Sinnvoll ist einer für die 
USB-Schnittstelle wie z.B. 
http://wiki.ullihome.de/index.php/USBAVR-ISP/de
es gibt aber auch kommerzielle Produkte wie AVR-ISP MkII

von Peter S. (peter_s17)


Lesenswert?

Also hab ich das richtig verstanden, ich muss nur meinen Microcontroller 
mit dem PC verbinden und irgendeine ISP-Software installierun und 
draufspielen?

von Hubert G. (hubertg)


Lesenswert?

Nicht ganz richtig.
Die ISP-Software hast du schon beim AVR-Studio dabei.
Vom PC geht es dann über den Programmer zum Microkontroller.

von Peter S. (peter_s17)


Lesenswert?

also brauch ich gar keine extra Hardware um einen Microcontroller zu 
beschreiben.
Oder brauch ich eben doch eine ISP-Hardware wie zum Beispiel das RP6 USB 
Interface?

von Hubert G. (hubertg)


Lesenswert?

Dein RP6 USB-Interface und der ISP-Programmer sind zwei verschiedene 
Dinge.
Mit dem RP6 USB-Interface kannst du dein Programm mit dem RP6-Uploader 
auf den Mega32 spielen solange dort der Bootloader vorhanden ist.
Mit dem ISP-Programmer kannst du dein Programm über die 
ISP-Schnittstelle des Kontroller laden. Dazu benötigst du keinen 
Bootloader im Kontroller.
Ein vorhandener Bootloader ist dann allerdings weg, das heisst er wird 
überschrieben.
Das eine ist also über Bootloader programmieren, das andere über ISP 
programmieren.

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.