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
Danke für die extrem schnellen Antworten :) Das beantwortet meine Frage in jeder Hinsicht.
In Microprozessoren zum Initialisieren von externen Speicher (DDR 2/3/4) in den dann der Kernel geladen werden kann.
> Ü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"
:
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.