Forum: Mikrocontroller und Digitale Elektronik Arduino mit Arduino programmieren?


von TimDerLauch (Gast)


Lesenswert?

Hallo
Ich hatte heute eine idee :
Und zwar will ich einen Arduino mit einem Arduino programmieren !
Hört sich bescheuert an, JA ICH WEISS !
Aber ist es möglich einen UNO mit einem MEGA2560 einen kleinen sketch 
zb. der Blink sketch einzuprogrammieren also das der UNO dann den Sketch 
hat und ausführt ? Und wie muss ich es dann verkabel ? Wenn ihr fragen 
habt werde ich wahrscheinlich darauf antworten :D

von M.N. (Gast)


Lesenswert?


von TimDerLauch (Gast)


Lesenswert?

Ich will kein bootloader brennen sondern einen sketch übertragen :/

von Joachim S. (oyo)


Lesenswert?

Mit einem ISP kann man nicht nur Bootloader, sondern auch 
Arduino-Sketche übertragen.

Vermutlich musst Du dazu in der Arduino-IDE lediglich statt "Upload" 
die Funktion "Upload with Programmer" benutzen, und vorher im 
"Programmer"-Menü den Eintrag "Arduino as ISP" einstellen (nie selbst 
ausprobiert).

von TimDerLauch (Gast)


Lesenswert?

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

von Joachim S. (oyo)


Lesenswert?

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.

: Bearbeitet durch User
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.