Forum: Mikrocontroller und Digitale Elektronik Boot-Modi von Flash Chips


von Marko S. (kontroller)


Lesenswert?

Guten Tag!

Ich habe zwar gesehen, dass hier schon darüber geschrieben wurde, jedoch 
habe ich eine weitere Frage zu den unterschiedlichen Boot-Modi sodass 
ich an dieser Stelle diesbezüglich noch einmal nachfragen wollte.

Soweit ich gesehen habe, gibt es zwei Boot-Modi, einmal BT (top-boot) 
und einmal BB (botom-boot). So nun ist ja bei diesen Chips 
hardwaretechnisch alles gleich, jedoch gibt es bezüglich der 
Strukturieren der Boot-Sektoren unterschiedungen, also nur in den 
Adressbereichen mit denen diese Boot-Sektoren angesprochen werden.

Jetzt habe ich mich gefragt, was denn wäre, wenn man z.B. einen BT-Chip 
ausliest und die Daten in einen BB-Chip schreibt bzw. auch umgekehrt?

Wann nützt man welchen Boot-Modus? Es muss doch egal sein, ob vorne oder 
hinten, da ich ja den Boot-Modus sowieso extra anspreche. Also wenn ich 
da aus Sicherheit den Boot-Modus hinten anstelle, damit das Gerät nicht 
"versehentlich" in diesen springt ist das irgendwie nicht ganz so 
logisch für mich.

Wäre super, wenn mir das jemand erklären könnte.

Danke!

von Frank K. (fchk)


Lesenswert?

Es gibt Prozessoren, bei denen die die Reset- und Interrupt-Vektoren etc 
am Anfang des Adressbereiches liegen (zB ARM), und es gibt Prozessoren, 
bei denen diese am Ende des Adressbereiches liegen (zB x86). Deswegen 
gibt es Flashbausteine mit zwei verschiedenen Organisationsstrukturen. 
Da gibt es kleinere Blöcke zB für den Bootloader oder Setup-Daten, und 
da gibt es größere Blöcke zB für das eigentliche BIOS oder die 
Applikation. Je nachdem, was für einen Prozessor man hat, braucht man 
also ein Flash mit den kleineren Blöcken am Anfang oder am Ende, um 
nicht einen großen Datenblock für den kleinen Notfallbootloader zu 
verschwenden.

Außer der Organisation gibt es keine Unterschiede.

Ja, und dann gibts noch Bausteine, die haben nur gleich große Blöcke, da 
gibts natürlich kein Top- und Bottom-Boot.

fchk

von Marko S. (kontroller)


Lesenswert?

Vielen Dank! Jetzt verstehe ich das etwas besser. Meine Frage lässt mir 
aber einfach keine Ruhe, da ich sehr gern wissen würde was passiert, 
wenn man die Daten eines BT-Systems aber auf einen neuen BB-Chip 
schreibt. Was würde dann passieren, wenn man mit diesem Gerät arbeitet?

Würde das Beschreiben überhaupt funktionieren, wenn die Boot-Bereiche 
sich an unterschiedlichen Stellen im Chip befinden?

Oder würde der Schreibvorgang sogar ohne Fehler funktionieren nur es 
würde dann zu Problemen des Systems kommen?

von Frank K. (fchk)


Lesenswert?

Marko Schilke schrieb:
> Vielen Dank! Jetzt verstehe ich das etwas besser. Meine Frage lässt mir
> aber einfach keine Ruhe, da ich sehr gern wissen würde was passiert,
> wenn man die Daten eines BT-Systems aber auf einen neuen BB-Chip
> schreibt. Was würde dann passieren, wenn man mit diesem Gerät arbeitet?

Solange nur gelesen wird, merkst Du nichts. Sobald geschrieben wird, 
wird es katastrophal, weil die Zuordnung von Blocknummern (es können nur 
ganze Blöcke gelöscht werden) zu Speicheradressen nicht mehr stimmt. 
Heißt also: es werden Dinge gelöscht, die gar nicht gelöscht werden 
sollen, und das Beschreiben funktioniert dann einfach nicht mehr 
richtig.

fchk

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.