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!
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
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.
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
> Ü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.
> 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.
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?
:)
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
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.
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.
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"
Eine eigene Frage?
Dieser Thread ist über 10 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.