Forum: Mikrocontroller und Digitale Elektronik Arduino Bootloader für andere Microcontroller


von Karsten B. (karstenbrandt)


Lesenswert?

Hallo Gemeinde,

ich bin seit 1 Stunde auf der Suche nach einer Beschreibung und/oder 
Quellcode für den Bootloader des Arduino MEGA 2560 rev.3 Boards. Leide 
ohne wirklichen Erfolg.
Hat einer von Euch vielleicht einen Tipp, wo ich den Sourcecode für den 
Bootloader des MEGA2560-Boards finde?
Es gibt wohl eine ganze Reihe von Bootloadern (auch im Arduino 
Installationsverzeichnis). Welcher ist der richtige? In keinem finde ich 
eine Referenz auf den MEGA2560.

Der Hintergrund ist folgender:
Ich möchte mir ein Arduino Board für einen ATXmega256A3U bauen. Das 
Leiterplattenlayout ist nicht das Problem.
Was mir nicht ganz klar ist, wie der Bootloader vom Arduino (Mega2560) 
funktioniert. Ich vermute folgendes:
Der ATMEGA16U2 ist ja der USB-zu-RS232 Wandler. Über RS232 findet eine 
Kommunikation mit dem Bootloader des MEGA2560 statt (PINs PE0 und PE1). 
Dieser nutzt dann die internen Flash-Schreibfunktionen des MEGA2560, um 
das FLash zu programmieren. Das würde bedeuten, dass ich mir einen 
Bootloader schreiben oder anpassen müsste (daher die Frage nach dem 
Quellcode für den MEGA2560), der über RS232 Datenpakete entgegen nimmt 
und diese ins Flash schreibt.
Liege ich hier soweit richtig?
Muss eigentlich der Code desw USB-Seriell-Wandlers ATMega16U2 bei einer 
solchen Aktion auch angepasst werden?

Vielleicht hat einer eventuell einen Link für mich, wo der Aufbau das 
Anpassen des Bootloaders genau beschrieben ist.

Danke und Grüße

Karsten

von Harry L. (mysth)


Lesenswert?

Kauf dir lieber einen ISP-Programme, und lern erstmal die Grundlagen!

Bootloader werden (gerade von den Arduino-Jüngern) vollkommen 
überbewertet.

von Karsten B. (karstenbrandt)


Lesenswert?

Den XMega zu programmieren ist nicht das problem. Auch C-Kenntnisse und 
in gebegrenztem Umfang auch Assemblerkenntnisse sind vorhanden.
Mit schon bewusst, dass ich ein Arduino Board auch mit ISP bzw JTAG(beim 
DUE) programmieren kann (und auch schon gemacht habe). Auch den 
Bootloader ins device zu schreiben ist nicht das Thema.
Ich finde es sehr angenehm, wie sich Arduino über USB programmieren 
lässt.
Um als Arduino Jünger würde ich mich auch nicht bezeichnen! Es sind 
schon einige Projekte umgesetzt.
Ich verwende seit langer Zeit gerne die Xmegas. Daher der Wunsch den 
Xmega mit Arduino zu verwenden.
Das Thema Bootloader hatte sich mir bisher nicht gestellt. Nun 
interessiert es mich eben. Daher die Frage nach Unterstützung.

Warum werden denn Bootloader nach Deiner Meinung überbewertet?

von Jim M. (turboj)


Lesenswert?

Den Quellcode für die Bootloader gibts unter 
https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/bootloaders

Offenbar nimmt das Mega 2560 Board den aus dem stk500v2 Verzeichnis.

von Karsten B. (karstenbrandt)


Lesenswert?

Vielen Dank Jim.

Das hilft mir weiter.

von Frank (Gast)


Lesenswert?

>Autor: Harry L. (mysth)
>Kauf dir lieber einen ISP-Programme, und lern erstmal die Grundlagen!

Darf ich fragen, weshalb du dich zum Lehrer berufen fühlst, anstatt auf 
die gestellte Frage zu antworten?

von Lothar (Gast)


Lesenswert?

Harry L. schrieb:
> Bootloader werden (gerade von den Arduino-Jüngern) vollkommen
> überbewertet

Ganz bestimmt, deswegen kommen auch alle uC ausser AVR mit werksseitigem 
Bootloader.

Übrigens Dein PC oder Tablet mit dem Du grade schreibst lädt das 
Betriebssystem auch mit einem Bootloader ...

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.