Auf ROM kann nur lesend zugegriffen werden, aber das BIOS kann programmiert werden ?

... komplette Frage anzeigen

1 Antwort

Das BIOS ist ein EPROM und kann mit normalen Mitteln nicht Programmiert werden.

Änderungen im BIOS werden in einen Flash-Speicher geschrieben - der ist einfach änderbar.

IM BIOS-Chip stehen meist nur die Grundroutinen, die Werte dafür liest das BIOS beim Systemstart aus einem weiteren, geschützten Speicher aus. Dieser Speicher wird bei einem BIOS-Update komplett neu geschrieben 

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von martin7812
23.11.2015, 07:30

Noch eine Anmerkung zu Flashspeicher:

Dieser lässt sich zwar löschen und überschreiben, aber nicht so wie RAM, sondern recht kompliziert. Beispiel:

int variableImRam = 10;
const int variableImFlash = 10;

Das Ändern der Variable im RAM geht ganz normal:

variableImRam = 11;

Das Ändern der Variable im Flash hingegen ist recht kompliziert (hier am Beispiel eines MPC):

FlashCmd = 4;
FlashState = (-1);
*(int *)variableImFlash = 0;
FlashCmd = 5;
while(FlashCmd&32);
FlashCmd = 4;
FlashCmd = 16;
*(int *)variableImFlash = 11;
FlashCmd = 17;
while(FlashCmd&32);
FlashCmd = 16;
FlashCmd = 0;

Außerdem ist es im Flash nicht möglich, einzelne Bytes zu ändern, sondern nur größere "Blöcke". Ich kann also nicht eine einzelne Variable ändern, sondern muss einen größeren Bereich des Flashspeichers komplett neu beschreiben.

Daher gilt Flash als "read-only"-Speicher, obwohl man ihn (sehr kompliziert) überschreiben kann.

Echten EPROM (löschbar mit UV-Licht) hat man in Serienprodukten fast nie eingesetzt, da diese Chips in teure UV-durchlässige Gehäuse eingebaut werden mussten. Stattdessen hat man OTP-EPROM verwendet; das sind dieselben Chips in normalen Plastikgehäusen (und daher nicht löschbar).

0

Was möchtest Du wissen?