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


von Michael (Gast)


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?orderNumber=42855&source=search

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

von Peter R. (pnu)


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.

von Michael (Gast)


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=product_info&cPath=16&products_id=46

gut/schlecht?


mfg

von Michael (Gast)


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!?

von Markus E. (engelmarkus)


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.

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Infos:

Werde mir das Dragon Board bestellen:

http://reichelt-elektronik.at/index.html?;ACTION=3;LA=444;GROUP=A38;GROUPID=2969;ARTICLE=97200;START=0;SORT=artnr;OFFSET=16;SID=28cYjFdqwQARwAAA1MVQcafd6062440f3ddd2d9acafc44b6c77b8

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

http://reichelt-elektronik.at/index.html?;ACTION=3;LA=444;GROUP=C151;GROUPID=3231;ARTICLE=14571;START=0;SORT=artnr;OFFSET=75;SID=28cYjFdqwQARwAAA1MVQcafd6062440f3ddd2d9acafc44b6c77b8



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

von Maik M. (myco)


Lesenswert?

Wenn du viel Geld sparen willst, hol dir einen MySmartUSB Light:
http://shop.myavr.de/Programmer/mySmartUSB%20light.htm?sp=article.sp.php&artID=200006

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&artID=100075

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.

von Michael (Gast)


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

von Tom M. (tomm) Benutzerseite


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.

von Düsendieb (Gast)


Angehängte Dateien:

Lesenswert?

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

wieso cmd? siehe Seite 9 im Datenblatt

von Michael (Gast)


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

von Maik M. (myco)


Lesenswert?

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

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.