mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Code auf uC übertragen / Programmer


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich bin neu in der Welt der uC programmierung.
Nun, wie es am Anfang so ist, drängen sich einge Fragen auf.

Ich habe mir das Amtel Evaluationboard zusammengebaut und habe einen 
Atmega32 uC.

http://embdev.net/attachment/69452/D810074B.PDF

Auf diesen Board sind mehrer Schnittstellen unter anderem:

ISP-Schnittstelle
RS232 Schnittstelle

Ich will meinen C code mit WinAVR über USB auf den Controller kopieren. 
Deshalb habe ich folgenden USB Seriell Konverter:

http://www.lindy.de/shop/showProductDetail.do?orde...

Nun zu meine Fragen:

1)Welche Schnittstelle ist die richtige bzw wo liegt der Unterschied?
2)Bei WinAVR muss ich, wenn ich den Code übertragen will ein Makefile 
erstellen und in diesem muss ich einen Programmer angeben. Aber ich weiß 
nicht wie mein Programmer heist. Wie kann ich das rausfinden?

Ich hoffe ihr könnt mir den Einstieg in diese Welt ein klein wenig 
erleichtern.
Vielen Dank im Voraus.

Michael

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht der C-Code wird an den Kontroller übergeben, sondern ein hex-file, 
das mithilfe des C-Compilers erstellt worden ist.

Das atmel-evaluation board hat eine einfache Schaltung onboard, die mit 
der (echten) seriellen Schnittstelle des PC zusammen einen 
ISP-Programmierer bildet. Damit kann das .hex-file an den Kontroller 
übergeben werden.

Die Nutzung zusammen mit ponyprog ist etwas umständlich, geht aber zu 
machen.

Wenn  der PC keine echte RS232-Schnittstelle mehr hat, gibt es ein 
Problem: Ein USB-seriell-Umsetzer lässt sich dabei nicht generell 
verwenden, nur wenige der Umsetzer können es.

Dass da Probleme auftauchen sieht man an dem Aufwand der im Tutorium und 
in vielen threads zu dieser Schnittstelle getrieben wird. Da findet man 
auch die Lösung für manches Problem.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
thx

oh nein... in der beschreibung des boads steht:

"Die Programmierung kann über die auf dem Board befindliche 
ISP-Schnittstelle, per RS232-Schnittstelle oder für den ATmega16 und 
ATmega32 über eine JTAG-Schnittstelle erfolgen."

Da kann man ja nicht wissen, dass man da noch einen Programmer braucht.

Müsste mit diesem auch funktionieren, oder?

http://www.adafruit.com/index.php?main_page=produc...

gut/schlecht?


mfg

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zusatz:

Mein PC hat keine RS232 Schnittstelle mehr.In PonyProg ist kein usb 
vorgesehen. welchen Programm kann man in kombination mit meinem 
Konverter verwenden damit es funtionieren könnte?

muss meinen Konverter bei der ISP Schnittstelle anschließen oder bei 
RS232!?

Autor: Markus E. (engelmarkus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest AVR-Studio zusammen mit dem AVR-Dragon benutzen, den kriegst 
du für 50 € und hast einen Debugger dabei. Also den würde ich doch dem 
oben erwähnten Programmer vorziehen. Alternativ geht es auch mit 
avrdude.
Sowohl den Programmer von oben als auch den Dragon schließt du auf dem 
Board an einen ISP-Stecker an, der ist entweder 6- oder 10-polig. An 
diese 9-polige serielle Buchse kannst du beide nicht ohne weiteres 
anschließen.

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Infos:

Werde mir das Dragon Board bestellen:

http://reichelt-elektronik.at/index.html?;ACTION=3...

mit diesem Patch Kabel: (ich hoffe das ist das richtige!?!):

http://reichelt-elektronik.at/index.html?;ACTION=3...



Ich habe dann noch ein paar Fragen zu meinem Atmel Eval. Board.
(Siehe Bestückungsplan):

1)Für was brauche ich 2 Stück 9-polige Schnittstellen bzw. was kann ich 
damit machen? Bei einem steht RS232 und beir dem anderen ISP dabei.

2) den Dragon Programmer verbinde ich mit der 10-poligen ISP 
Schnittstelle doch für was ist die JTAG Schnittstelle nützlich? oder 
brauche ich beide?

viele Dank im Voraus für die Hilfe

mfg
Michael

Autor: Maik M. (myco)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du viel Geld sparen willst, hol dir einen MySmartUSB Light:
http://shop.myavr.de/Programmer/mySmartUSB%20light...

und dann brauchst du für dein Board noch einen Adapter von 6 auf 
10polig:
http://shop.myavr.de/index.php?sp=article.sp.php&a...

Ich habe mir den selber gebaut, weil ich vergessen habe mir den für 
meine alten Boards mitzubestellen :)

Dann installierst du einfach AVR-Studio (WinAVR wird da unterstützt), 
kompilieren und übertragen kannst du dann direkt aus AVR-Studio heraus.

zu deinen Frage:
RS232 auf dem Board dient zum kommunizieren mit anderen RS232 Geräten 
oder einem PC mit serieller Schnittstelle
der andere Sub-D mit "ISP" Aufschrift, ist ein eingebauter Programmer 
für die serielle Schnittstelle eine PCs.
JTAG ist zum Programmieren und Debuggen. Man kann damit direkt in den 
Controller hineinsehen, Programme anhalten und Schritt-für-Schritt 
laufen lassen. JTAG-Programmierer/Debugger kosten allerdings etwas mehr. 
Und für den Anfang ist das evtl. eh zu kompliziert.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

habe mir jetzt den MySmartUSB Light programmer bestellt, welcher soeben 
angekommen ist.

Jetzt weiß ich aber nicht wie der programmer heist! ... könnte ihr mir 
da helfen? Ich will einen Atmega32 programmieren.


wenn ich unter ausführen --> cmd folgendes eingebe:

C:\avrdude -c smartusb -p m32

kommt wie erwartet eine fehlermeldung.


und bei WinAVR muss ich beim Makefile einen Programmer angeben.

???

vielen Dank

Autor: Tom M. (tomm) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael schrieb:
> wenn ich unter ausführen --> cmd folgendes eingebe:
>
> C:\avrdude -c smartusb -p m32

Welche Fehlermedlung???


Im Shop heisst es: "Ausgeliefert wird der Programmer mit der Firmware 
STK500 V2".

Im avrdude Manual lese ich: "stk500v2  Atmel STK500, running a version 
2.x firmware"

Würde es also erstmal mit "-c stk500v2" versuchen.

Autor: Düsendieb (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Michael schrieb:
> wenn ich unter ausführen --> cmd folgendes eingebe:
> C:\avrdude -c smartusb -p m32

wieso cmd? siehe Seite 9 im Datenblatt

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, dies schein ein Problem gelöst zu haben.

nun kommt diese Fehlermeldung unter cmd:

C:\>avrdude -c STK500v2 -p m32
avrdude: ser_open(): can't open device "\\.\com1": Das System kann die 
angegebene Datei nicht finden.


und diese wenn ich winAVR:


> "make.exe" program
avrdude -p atmega32 -P usb -c stk500v2    -U flash:w:main.hex
avrdude: usbdev_open(): did not find any USB device "usb"
make.exe: *** [program] Error 1

Autor: Maik M. (myco)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du musst die serielle Schnittstelle angeben die der USB-Stick angelegt 
hat. Steht alles exakt in der Anleitung beschrieben (Seite 10)...

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.