Forum: Mikrocontroller und Digitale Elektronik Nutzen von Bootloadern


von Tekki-Amateur (Gast)


Lesenswert?

Hallo

Ich bin ein Neuling was das Thema Mikrocontroller angeht und habe daher 
ein Anliegen:

Bisher habe ich immer mit meinem Arudino Uno experimentiert und somit 
auch über die Arduino IDE programmiert und die Sketche hochgeladen. 
Nachdem ich durch eine Überspannung meinen Atmega 328 p in die Knie 
gezwungen habe und ich mir daraufhin einen neuen jungfreulichen 
Mikrocontroller besorgt habe wurde ich das erste mal mit dem Thema 
Bootloader konfrontiert. Das dieser dazu da ist, um Programme in den 
Flash des Mikrocontrollers zu laden habe ich verstanden.

Meine Frage dazu ist nun, wann wird ein Bootloader wirklich benötigt, da 
mein Kumpel mit AVR-ISP Programmern seine Programme (mit Atmel Studio) 
hochläd und dazu keinen Bootloader braucht.

Also: Wann wird ein Bootloader wirklich gebraucht?

PS.: Beitrag "Wofür ist ein bootloader?" hier wird meine 
Frage nicht wirklich beantwortet!

von Stefan (Gast)


Lesenswert?

Falls du Programme über eine spezielle Programmierschnittstelle und 
einem Programmieradapter lädst, benötigst du keinen Bootloader. Dieser 
wird benötigt, wenn das Programm über eine normale 
Kommunikationsschnittstelle (beispielsweiße UART oder SPI) geflasht 
werden soll

von Soul E. (Gast)


Lesenswert?

Tekki-Amateur schrieb:

> Also: Wann wird ein Bootloader wirklich gebraucht?

Immer dann, wenn es möglich sein soll, ohne Spezialwerkzeug und ohne 
Aufschrauben des Gerätes die Software zu aktualisieren.

von Praktiker (Gast)


Lesenswert?

Hallo

für dich und irgendeinen anderen Bastler oder Entwickler der im Besitz 
eines funktionierenden Programmers ist ist ein Bootloader tatsächlich 
nur ein nettes Extra, also ein weiterer Weg den µC zu beschreiben.

Aber µC wurden ja nicht für Hobbyisten und Bastler entwickelt sondern 
letztendlich damit fertige Produkte beim Kunden Preiswerter und kleiner 
werden.
Nun hat der Kunde im allgemeinen keinen passenden Programmer um z.B. die 
Firmware neu zu flashen oder zu Updaten.
Was er aber "immer" hat ist eine "normale" Serielle Schnittstelle oder 
einen USB Anschluss.
Über diesen Anschluss kann der Kunde dann recht einfach, mittels eines 
kleinen Programms den µC flashen bzw. updaten und ist außerdem davor 
geschützt "böse" Parameter zu ändern (z.B. Fusues)

Das trotzdem teilweise ein ISP Header mit auf den fertigen 
Produktplatinen vorhanden ist liegt wohl an der einfacheren Produktion 
(den irgendwann muss ja die Firmware und der Bootloader aufgespielt 
werden).

Praktiker

von Tekki-Amateur (Gast)


Lesenswert?

Danke für die extrem schnellen Antworten :)

Das beantwortet meine Frage in jeder Hinsicht.

von Cortex A (Gast)


Lesenswert?

In Microprozessoren zum Initialisieren von externen Speicher (DDR 2/3/4) 
in den dann der Kernel geladen werden kann.

von Lästermaul (Gast)


Lesenswert?

> Über diesen Anschluss kann der Kunde dann recht einfach, mittels eines
> kleinen Programms den µC flashen bzw. updaten

Hoffentlich bleibt das zu kompliziert. Ich will Toaster, Kühlschrank, 
Waschmaschine... nicht updaten. Als Kunde will ich ein Gerät, was von 
Anfang an einwandfrei funktioniert.

von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

> Hoffentlich bleibt das zu kompliziert. Ich will Toaster, Kühlschrank,
> Waschmaschine... nicht updaten. Als Kunde will ich ein Gerät, was von
> Anfang an einwandfrei funktioniert.

Sowas gibt es nicht mehr. Alles was irgendwelche Controller und co 
beinhaltet hat irgendwelche blöden Macken.
Langsam kommts mir so vor, als wenn sogar hölzerne Türstopper sich gegen 
mich verschwört hätten.

Aber echt. Seit Speicher und Rechenzeit nicht mehr teuer ist, passt 
keiner mehr auf die Qualität seines Codes auf. Kein Mensch versteht mehr 
Assembler, um seinen Code zu optimieren.

von Modern Toaster (Gast)


Lesenswert?

Na aber kaum kommt mal ein neues Toastformat auf dem Markt bist du erste 
der sich beschwert warum du das mit deinen Toaster nicht bearbeiten 
kannst, und warum kann man das Mistding nicht darauf updaten?
:)

von Michael U. (amiga)


Lesenswert?

Hallo,

Modern Toaster schrieb:
> Na aber kaum kommt mal ein neues Toastformat auf dem Markt bist du erste
> der sich beschwert warum du das mit deinen Toaster nicht bearbeiten
> kannst, und warum kann man das Mistding nicht darauf updaten?
> :)

halb so schlimm. Der Hersteller wird Dir ein günstiges Upgrade-Angebot 
auf das neue Modell machen: 10% Preisnachlaß auf das neue Modell bei 
Rückgabe Deines 3 Monate alten Toasters.

Und schon kannst Du auch die neuen runden Toastbrote mit dem DSDS-Logo 
verbrennen äh... verzieren.

Gruß aus Berlin
Michael

von Terence S. (takeshi)


Lesenswert?

Modern Toaster schrieb:
> Na aber kaum kommt mal ein neues Toastformat auf dem Markt bist du erste
> der sich beschwert warum du das mit deinen Toaster nicht bearbeiten
> kannst, und warum kann man das Mistding nicht darauf updaten?
> :)

Daran ändert eine Update-Funktion ja auch selten etwas. Wenn das neue 
Toastformat kommt, kommt dann doch ein neues Gerät statt ein Update für 
das alte.

von W.S. (Gast)


Lesenswert?

Tekki-Amateur schrieb:
> Also: Wann wird ein Bootloader wirklich gebraucht?

Eigentlich ist diese Frage in sich falsch. Chips, die einen residenten 
Bootlader enthalten (also so gut wie alle LPC und STM32) bieten damit 
die Möglichkeit, den Chip auch ohne jegliches Spezial-Geschirre (JTAG, 
SWD, Spezialzeugs wie PICkit usw.) zu programmieren. Das ist in aller 
Regel deutlich billiger als das genannte Spezial-Zeugs. Obendrein weiß 
so ein Bootlader genau, wie sein Chip zu programmieren ist. Damit 
braucht man zwischen einem PC und dm ootlader eben nur noch dessen 
Kommando-Syntax einzuhalten und man braucht sich NICHT um die speziellen 
Eigenheiten des Chips zu kümmern (Für's Brennen wohlgemerkt..)

Tja - und eine serielle Verbindung oder eine USB-Verbindung ist fast 
immer robuster und stabiler als jede JTAG- bzw. SWD-Verbindung. Das gilt 
nicht ganz für teure Teile wie den seggerschen J-Link, aber umso mehr 
für alles Bastel-JTAG-Zeugs wie OpenOCD usw.

W.S.

von Julian B. (julinho)


Lesenswert?

Ein Bootloader hat noch mehr Vorteile, du kannst damit die Pins der 
ISP(AVR) für etwas anderes verwenden und kannst im Extremfall über einen 
Pin die Firmware einspielen.
Außerdem kannst du ein Bootloader mit Verschlüsselung verwenden, du 
schickst deinem Kunden ein File, der kann damit aber nur einen uc mit 
der entsprechenden ID verwenden und keinen "nackten".

Falls du AVRs programmierst kann ich diesen nur wärmstens empfehlen:

Beitrag "AVR-Bootloader mit Verschlüsselung"

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