Forum: Mikrocontroller und Digitale Elektronik Wozu ISP?


von Karl (Gast)


Lesenswert?

Hallo Zusammen!

Könnt Ihr mir sagen wozu ich den AVR-ISP brauche, wenn ich z.B. den
ATmega128 auch mit dem AVR-Studio flashen kann? Und das auch nur über
die RS232.

Gruß Karl

von Jens D. (jens) Benutzerseite


Lesenswert?

Hallo
Du kannst den ATmega128 nur ueber de nBootloader Flashen..
Aber was ist mit den kleineren  aelteren die keinen Bootloader haben 
oder nicht installiert ist?
Dann musst du eben einen ISP zum Programmieren nutzen
zumindest um einen Bootloader zu installieren

von A.K. (Gast)


Lesenswert?

Wozu brauche ich ein Auto wenn ich einen Führerschein habe?

AVR Studio: Die Software.
AVR ISP: Die Hardware.

von Karl (Gast)


Lesenswert?

Heißt das, dass ich einen "jungfräulichen" uC, welcher ja keinen
Bootloader haben sollte, über den ISP flashen kann?

Das würde dann weiter bedeuten, dass ich mir ein Tool besorgen muss,
welches mit dem AVR-ISP zusammenspielt um meinen uC zu flashen.

Aber was ist der genaue Grund für den ISP? Ich kann den ATmega128 ja
via SPI flashen solange der Reset Pin gesetzt ist (verkürzte
Beschreibung...). Soweit ich das Datenblatt des uC verstehe, reicht es
dann aus die Byte´s rüber zu schieben, oder? Also wozu den ISP?

von Jens (Gast)


Lesenswert?

Es gibt Verschiedene Arten einen AVR zu flashen:
1.) HV Programming: da musst du dein µC in ein Programmiergerät
stecken, dass HV fähig ist. Also etwas umständlich.
daher kommt öfters ISP zum einsatz:

2.) ISP Programming (in System programming): hier wird der µC in der
schaltung programmiert, ohne, dass man ihn immer ausbauen muss. Das
ganze geschieht über 4 Pins (MOSI, MISO, SCK, Reset). Das ISP
Programming läust also (wie man an den Pins sehen kann) über SPI.

Du kannst mit dem AVR Studio deinen µC über den AVRISP programmieren.


MfG

von A.K. (Gast)


Lesenswert?

Es ist ein verbreiteter Irrtum, dass die AVRs über SPI programmiert
werden.

Bei den meisten AVRs sind die ISP-Pins zwar tatsächlich mit den
SPI-Pins identisch, aber ausgerechnet beim Mega128 eben nicht. Das hat
hier schon manchen graue Haare eingebracht.

von Karl (Gast)


Lesenswert?

So ganz verstanden hab ich das noch nicht.

Also: Es ist möglich den ATmega128 via das AVR-Studio zu programmieren.
Jedoch ist es auch möglich den uC mit dem AVR-Studio und dem ISP zu
programmieren.

Wozu brauche ich dann den ISP?

von A.K. (Gast)


Lesenswert?

Es ist nicht möglich, allein mit dem AVR Studio einen fabrikfrischen
Mega128 (oder einen anderen AVR) zu programmieren.

Wenn man den Mega128 direkt per RS232 programmieren kann, muss in den
Mega128 erst ein Bootloader reinprogrammiert und der Mega103 Modus
abgeschaltet werden. Fabrikfrisch geht da per RS232 nichts. Dazu
benötigt man ein Programmierinterface. Kann ISP sein, oder per
High-Voltage-Programming.

Ob man ISP nun ausschliesslich für's Urladen des Bootloaders
verwendet, oder an Stelle eines Bootloaders immer, ist Sache der
persönlichen Geschmacks und der konkreten Anwendung.

von A.K. (Gast)


Lesenswert?

"Wenn man ..."

Damit man...

von A.K. (Gast)


Lesenswert?

Um beim Beispiel oben zu bleiben: Mit einem Führerschein allein kann man
nicht fahren. Er hat keine Räder. Und mit Software allein kann man nicht
programmieren. Es fehlt das Interface.

von Karl (Gast)


Lesenswert?

Sorry, ich habe zu oft gedrückt ...

von A.K. (Gast)


Lesenswert?

"Also: Es ist möglich den ATmega128 via das AVR-Studio zu
programmieren."

Nimm deinen Führerschein (oder denk dir einen wenn Du keinen hast),
setz dich in den Führerschein rein und fahr los.

Nein. Es ist nicht möglich, wenn da nicht noch etwas ist, das den PC
(Studio) mit dem AVR verbindet.

von ka-long (Gast)


Lesenswert?

Hi,

Einen frischen AVR kannst Du nur flashen, in dem Du
a) das Ding in ein Programmiergerät steckst (z.B. STK500)
b) oder ISP benutzt (wobei ISP ebenfalls ein "Programmiergerät" ist,
wobei der AVR aber in der Schaltung bleiben kann)

Beide Programmiergeräte werden von AVR Studio unterstützt.

Wenn Du über eine der beiden Möglichkeiten einen Bootloader flasht,
dann kannst Du den AVR flashen wie es Dir beliebt.

Das heißt über den USART oder über SPI oder ... oder ... oder ganz
modern, eine entprellte Taste im Sekundentakt....das ist natürlich
stark fehleranfällig.

Gruß ka-long

von Karl (Gast)


Lesenswert?

Wie bekomme ich heraus, welche Version des AVR-Studio mit dem ISP
funkioniert?

von William (Gast)


Lesenswert?

Hallo Karl,

es gibt MCU's mit oder auch ohne Boadloader! Benutzt Du einen MCU mit
B., so kann Du die MCU direkt über die RS232 programmieren, da das
B.-Programm eine Softwaremässige Schnittstelle ist.

Bei MCU ohne B. kommt der ISP zum Einsazt! Er stellt sozusagen die
Software-Schnittstelle dar!

Grüße William

von Karl (Gast)


Lesenswert?

Danke für die ganze Hilfe. Das hab ich soweit verstanden. Jetzt wüsste
ich noch gerne:

Wie bekomme ich heraus, welche Version des AVR-Studio mit dem ISP
funkioniert?

von ka-long (Gast)


Lesenswert?

Hi,

Alle.

Du brauchst halt nur die passende Hardware: Zum Beispiel ein STK500,
welches selbst an den COMPort gesteckt wird und dann einen ISP Port
bietet, oder einen Blillig ISP-Dongle der auf den Parallel?-Port
gesteckt wird.....


Mh...denk....Oder kommt das AVR Studio mit den ISP Donglen nicht
zurecht ?!?


Wenn ja, dann gibts z.B: PonyProg oder sowas.


Gruß ka-long

von Karl (Gast)


Lesenswert?

Ich hab einen ISP jedoch will der nicht mit dem AVR-Studio sprechen.
Frag mich jetzt nicht was genau er meldet. Ich möchte nur wissen woher
ich die Info´s bekomme welche ISP-Software mit welchem AVR-Studio kann.

von A.K. (Gast)


Lesenswert?

Serieller Port oder Druckerport? Das Studio kommt nur mit diversen
seriellen klar, für die am Druckerport wird beispielsweise der Pony
Programmer verwendet. Auch da könnte es nützlich sein, zu weissen
welche Belegung das ISP-Kabel hat - ob STK200, SP12, ...

von Karl (Gast)


Lesenswert?

Ich hänge am seriellen Port.

von AdrianG (Gast)


Lesenswert?

Ich hänge am Parallelport (ISP aus dem tut bzw. link) , und benutze yaap
zum flashen.
achso , ich schreibe die PRG´s mit dem AVRStudio.
Dann gehe ich auf [ Build (F7) ] und es wird mir ein *.hex- File
angelegt.

dann öffne ich yaap .
erstelle ein neues Proj. indem ich auf das weiße Blatt klicke.
jetzt wächle ich von den drei Fenstern das , in dem oben steht
"Untitled - Flash" so dass es aktiv ist.

Im pulldown gibts ein pkt "File" -> klick -> menü geht auf.
jetzt stehe ich vor der Auswahl "load file" oder "save file"
hmm.... ich denke mir , dass sich jemand beim programmieren des tools
gedanken gemacht hat , und den wichtigen punkt oben hingeschrieben hat.
Also klicke ich auf "open file", suche mir mein *.hex-File und öffne
es.

wow aus dem langweiligem FF-FF-FF-FF-FF-FF-FF-FF-FF
wandelt sich ein lustiges gewirre aus hex-Ziffern.

Einmal auf [Detect Device] klicken um zu sehen , ob auch alles funzt.
Schnell noch ein klick auf das [!]
und ab geht das Mopped.... ein progressbar nach dem anderen füllt sich
bis zu 100%.
Das wars schon.

good luck !

und gute nacht

adrian

von Ithamar G. (antimon)


Lesenswert?

Wenn wir gleich beim Thema sind - es gibt den relativ simplen
Parallelport-ISP-Programmer, der aber einwandfrei funktioniert. Und
dann gibts den AVR-ISP, der per seriellem Port angeschlossen wird. Das
Teil kostet ca. 40 EUR - wo ist da der Vorteil? Nur, dass ich direkt
aus dem AVR Studio flashen kann? Oder ist das JTAG-Interface da mit
integriert?
Und was bringt mir ein STK500 für nen Vorteil? Gut, ich hab
verschiedene Sockel, schon Taster, LEDs etc. zum Testen und kann
HV-Programming - aber lohnt es sich, dafür 100 EUR auszugeben?
Denn sollte ich mal in C programmieren, kann ich mit dem AVR Studio eh
nicht mehr so viel anfangen oder? Dann ist der Vorteil der einfachen
Programmierung wieder hinüber...?!

Was habt Ihr so für Entwicklungsumgebungen daheim? Für möglichst viele
AVR-Varianten und vielleicht auch mit JTAG...? Selbstbauten? Gekaufte
Geräte?

Denn JTAG wär glaub ich ned schlecht, irgendwie hab ich das Gefühl der
Simulator vom AVR Studio ist nicht so sonderlich zuverlässig... in
Realzeit kann man damit eh nicht arbeiten, oder irre ich mich und
müsste nur was umstellen? z.B. ne "blinkende LED" kann ich gar ned
simulieren, ich seh zwar deren Zustand, aber nur wenn der Simulator
grad angehalten ist...

von A.K. (Gast)


Lesenswert?

Der Vorteil der seriellen Schnittstelle macht sich spätestens dann
bemerkbar, wenn dein neuer Rechner oder dein Notebook keine parallele
Schnittstelle mehr hat. Eine serielle Schnittstelle lässt sich auch per
USB realisieren, eine parallele Schnittstelle nicht, jedenfalls nicht
für diese Anwendung.

von Jens D. (jens) Benutzerseite


Lesenswert?

Hallo
ich habe eine Steckbrett und einen AVR ISP ich hoffe heut kommt mein
Evertool (www.myEvertool.de)
ich bin mal gespannt wie es ist

Das problem im AVR STudio ist die simulation von externer Hardware, was
nicht so einfach ist darum JTAG

Gruss Jens

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

die teueren seriellen Adapter haben im allgemeinen den Vorteil das sie
zuverlässiger funktionieren. Da sitzt ein µC drin der die
Programmiersignale erzeugt. Das ganze ist dan völlig unabhängig von
irgendwelchen Timinggeschichten im PC und da pfuscht auch kein
Scheduler des OS dazwischen. Ich hab auch lange mit einem parallelen
gearbeitet aber irgendwann nervt es wenn jeder 20. Programmierversuch
mal nicht klappt.

Matthias

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.