TimDerLauch schrieb:
> Joachim S. schrieb:
>> Mit einem ISP kann man nicht nur Bootloader, sondern auch
>> Arduino-Sketche übertragen.
>
> Kannst du mir es bitte ein bissle genauer erklären :) Bidde
Ich versuche es mal - auch wenn ich leider herzlich wenig Ahnung von der
Arduino-IDE habe, weil ich sie normalerweise nicht nutze. Es könnte
daher sein, dass das eine oder andere Detail nicht 100%ig stimmt.
Der "klassische" Weg, um AVR-Mikrocontroller (wie sie eben auf den
Arduinos benutzt werden) zu programmieren, ist per AVR
"In-System-Programmer" (kurz: "ISP"). Dazu hat fast jeder
AVR-Mikrocontroller ein paar spezielle Pins (MISO, MOSI, SCK).
https://www.mikrocontroller.net/articles/AVR_In_System_Programmer
Als dann irgendwann die Arduinos populär wurden, suchten die Entwickler
der Arduino-Plattform vermutlich einen noch simpleren Weg; da die
Arduino-Boards eh über einen USB-Port verfügen, war es naheliegend, den
auf den Arduino-Boards verbauten AVR-Mikrocontrollern einfach gleich ab
Werk mit einem speziellen Bootloader zu versehen, so dass man Programme
auch einfach über die USB-Schnittstelle des Arduino-Boards übertragen
kann.
Das ist der Standardweg, den die Arduino-IDE zum Übertragen von
Programmen ("Sketches") benutzt; es ist aber nach wie vor möglich,
Programme per ISP auf den AVR-Mikrocontroller der Arduino-Boards zu
übertragen - das ist sozusagen die "low-level"-Methode, und falls man
sich z.B. irgendwie den Bootloader zerschossen hat, dann ist der Zugriff
per ISP auch die einzige Möglichkeit, das Arduino-Board wieder zum
Laufen zu bekommen.
Aber der Standardweg, den die Arduino-IDE zum Übertragen der
Programme/Sketches benutzt, ist halt wie gesagt die Übertragung per
USB/UART mit Hilfe eines speziellen Arduino-Bootloaders.
Es scheint mit der Arduino-IDE aber trotzdem möglich zu sein,
stattdessen einen AVR-ISP zum Übertragen der Programme zu benutzen -
jedenfalls hat meine Arduino-IDE im "Datei"-Menü den Punkt "Upload mit
Programmer", direkt unter dem Menüpunkt "Upload".
Jedenfalls gibt es einen Arduino-"Sketch" (M.N. hat den passenden Link
bereits gepostet), mit dem man einen Arduino als AVR-ISP missbrauchen
kann, um andere AVR-Mikrocontroller (z.B. andere Arduino-Boards, oder
auch fabrikneue AVR-Mikrocontroller ohne den Arduino-Bootloader) zu
flashen. Auf diese Weise kann man sich, wenn man denn unbedingt will,
den Kauf eines eigenständigen AVR-ISP sparen.