Programmieren eines ATMega32

Gast #507772
Lesenswert?

Hallo,
ich kapiere nichts mehr. Es ist doch so, dass ich einen ISP-Programmer 
zum beschreiben brauche,oder? Bei Ebay gibts Boards mit serieller 
Schnittstelle und einer ISP-Schnittstelle. Und es soll möglich sein nur 
über rs232 zu programmieren. Kann mir das jemand ein für alle mal 
erklären was nun richtig ist ????
Gast #507783
Lesenswert?

der Rechner der den Controller programmieren soll hat keine ISP 
Schnittstelle, der Controller schon. Also brauch man einen Adapter, der 
eine am PC vorhandene Schnittstelle so umsetzt, das man damit die ISP 
Schnittstelle ansprechen kann. Und genau das machen die üblichen 
Programmieradapter. Sie setzen die Signale die aus einer USB, RS232 oder 
einer parallelen Schnittstelle rauskommen auf die für den Controller 
verständliche ISP Schnittstelle um. Ist doch logisch, oder?

bye

Frank
Gast #507789
Lesenswert?

Wenn entweder der ISP-Programmer mit auf dem Board ist oder der zu 
prgrammierende µC einen Bootloader hat (was aber bei einem fabrikneuen 
nicht der Fall ist), dann kann man direkt mit der seriellen 
Schnittstelle über eine geeignete Programmiersoftware den µC 
Programmieren. Bei vielen Boards (ich weiß jetzt nicht, was Du da bei 
Ebay gesehen hast, da gibts sicher so ziemlich alle Varianten) ist auf 
dem Board eine mehr oder weniger einfache Schaltung (oft 
SI-Prog-Interface, das mit PonyProg zusammenarbeitet und meines Wissens 
der hardwaremäßig einfachste ISP-Adapter ist, da er nur aus ein paar 
Widerständen, Dioden und einem Transistor besteht, z.B. bei den 
Pollin-Boards), über die der µC direkt mit der betreffenden 
Programmiersoftware kommunizieren kann.
#507794
Lesenswert?

>Ist doch logisch, oder?
Logisch vielleicht, aber verständlich?

Mein Versuch (ich kenne die Boards bei Ebay nicht):
ISP braucht man um einen "nackten" Controller zu programmieren.
Dafür braucht man ein Programmieradapter. Die gibt es in 
Einfachst-Ausführungen bestehend aus ein paar Widerständen oder 
Logik-Bausteinen - die werden dann an die parallele oder serielle 
Schnittstelle angeschlossen.
Der Programmieralgorithmus inkl. Timing wird dann durch den PC 
realisiert.

Aufwändigere Programmieradapter haben einen eigenen Controller drin. 
Damit ist es dann möglich Controller über die serielle Schnittstelle 
oder USB zu programmieren per ISP zu programmieren (Für AVR: STK500, 
AVRISP [mkII]).

Will man einen Controller ohne externen Programmer direkt über die 
serielle Schnittstelle programmieren, muß dieser die Möglichkeit bieten, 
einen Bootloader zu beherbergen. Dieser Bootloader ist ein Programm, das 
beim Controller-Start ([Power-on] reset) zuerst ausgeführt wird.
Wird jetzt ein spezielles Signal über eine Schnittstelle empfangen 
(UART, CAN, Ethernet, I²C...), dann richtet er sich darauf ein, die 
Applikationssoftware neu in den Programmspeicher zu schreiben.
Auf dieses Signal hin erwartet der Bootloader dann die Programm-Daten.

Erhält er kein "Programmiersignal", startet die eigentliche Applikation 
und läuft bis zum nächsten Reset.

ISP braucht man also, um zumindest den Bootloader in den Controller zu 
programmieren (es gibt auch Controller von Atmel, die mit einem 
Bootloader geliefert werden; allerdings sind das 8051er).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren