>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).