www.mikrocontroller.net

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


Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>In der Liste finde ich aber leider keinen ATMega32

könnte ach mega32 heißen...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:

> Was kanns da schon wieder haben?

Ganz normale Programmierfehler :-)

Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: RTFM (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: -schumi- (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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-

Autor: -schumi- (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter S. (peter_s17)
Datum:

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

Autor: Hubert G. (hubertg)
Datum:

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

Autor: Peter S. (peter_s17)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.