Forum: Mikrocontroller und Digitale Elektronik Bootloader im Router


von Jens B. (sio2)


Lesenswert?

Hi, wie kann man prinzipiell den bootloader in einem embedded System 
(Router) austauschen? Ich hab zwar schon bootloader gefunden (redboot), 
aber mich würde noch interessieren, worauf zu achten ist bei der 
Einstellung und Konfiguration davon. Muss der Speicheraufbau (Adressen 
von Flash und Ram) mit angegeben werden, little/big-endian?

Besten Dank
Jens

von Klaus (Gast)


Lesenswert?

Hä ???

Es sollte zum System eine Bedienungsanleitung oder ein Service Manual 
o.ä. geben, wo das alles drinsteht.
Für "embedded system" gibt's keine allgemeingültigen Verfahren oder 
Vorgehensweise oder sonstwas.
Eine Waschmaschine ist eben was anderes wie eine CNC-Steuerung oder ein 
Flugbahnregler für 'ne Rakete. Das ist alles speziell.
Ausserdem braucht man eine passende andere oder neuere Version, und man 
sollte sich sicher sein, daß die passt und zu diesem System gehört. 
Sonst kann's passieren, daß gar nichts mehr geht und der Service des 
Herstellers antanzen muss.

von Jens B. (sio2)


Lesenswert?

Für Handelsübliche Router gibts halt keine Anleitung vom Hersteller 
afaik. Was es oft schon gibt sind Buildroots für die Firmware, aber 
nichts für den Bootloader.
Das es Speziell ist, ist mir klar. Aber es Funktioniert nunmal 
eigentlich alles nach "fast" der gleichen weise. Irgendwas wird 
irgendwohin geladen und irgendwie gestartet. Da der Aufbau natürlich nie 
gleich ist (ausser bei den gleichen Teilen ;) ) ging es mir ja darum 
Infos zu bekommen, wie es Funktioniert, und wo man u.u. Infos herbekommt 
wie man vorgehen muss. Firmware zu killen geht ja noch, die kann man 
nachladen, aber den Bootloader??? Da kann man nur per jtag oder direkt 
aufs Flashzugreifend was machen, was sicher noch aufwendiger ist.

von Peter D. (peda)


Lesenswert?

Jens B. wrote:

> Das es Speziell ist, ist mir klar. Aber es Funktioniert nunmal
> eigentlich alles nach "fast" der gleichen weise. Irgendwas wird
> irgendwohin geladen und irgendwie gestartet.

Ja, ist ungefähr so wie ne Wohnungseinrichtung.

In jeder Wohnung gibts Bett, Tisch, Stuhl, Klo, Herd usw.
Wo die sich aber befinden, ist überall verschieden.

Und genau so mannigfaltig sind Bootloader.

Es fängt ja schon damit an, das die verschiedenen Chips und deren 
Revisionen schon verschiedene Bootalgorithmen haben. Dann noch 
verschiedenen Hardware und deren Revisionen usw.


Wenn Du also wirklich fundierte Informationen zu einem ganz bestimmten 
Bootloader für eine ganz bestimmte Hardware mit einer ganz bestimmten 
Revision haben willst, mußt Du Mitarbeiter in der ganz bestimmten 
Entwicklungsabteilung sein.


Peter


P.S.:
Wir machen es in der Regel so, daß unsere Bootloader vor dem Einlöten 
gebrannt und gelockt werden. Damit sind die Geräte sehr sicher, d.h. 
können nicht versehentlich totgeflasht werden.

von Jörg B. (manos)


Lesenswert?

Ganz zu schweigen davon, dass verschieden Chips verschiedene 
Maschinensprachecodes haben.. Du kannst einen 6502 nicht mit Binärcode 
vom 8088 betreiben.

Außerdem, was versprichst Du Dir davon den Bootloader auszutauschen? Der 
hat ja sowieso keine andere Aufgabe als das neue Programm von 
irgendwoher entgegen zunehmen und in den Programmspeicher zu schreiben 
(Flashen). Sollte der Original natürlich nur Update über seriell 
erlauben und Du willst aber per I2C updaten dann könnte sowas sinn 
machen.. aber nur mit einem der speziell für die Hardware(umgebung) 
geschrieben wurde.

"Ich hab hier einen Router und einen Bootloader im Netz gefunden" klingt 
doch etwas zu riskant^^

Bei Atmels kann man den Bootloader übrigens ganz normal über ISP 
austauschen...

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.