Program-Flash teilweise gelöscht

Gast #2593149
Hallo,

In unserem Infineon µC haben wir einen 4x16KB Bereich auf dem ein 
Schreibschutz drauf ist.
Nun haben wir festgestellt, dass auf einem µC die ersten 512B gelöscht 
sind, d.h. da sind Nullen, anschließend ist der Bereich korrekt 
beschrieben.


Habt ihr schon mal was davon gehört, dass durch einen µC-Defekt solche 
Teile gelöscht werden könnten?
Einen Flash löscht man Segment-Weise, ein Segment wäre hier 16KB, aber 
nur 512Byte sind gelöscht?

Danke
Gast
> dass auf einem µC die ersten 512B gelöscht sind, d.h. da sind Nullen

Normalerweise ist gelöschter Flash auf 1 nicht Null. Das heißt im Hex 
editor müßten überall 0xFF stehen. Es sieht danach aus, daß die Firmware 
im Controller das Flash auf Null setzt.
Gast
Hat dieser uC vielleicht einen Security-Bereich ?
Wenn der enabled wurde, steht zwar das Programm immer noch korrekt 
drinn, aber beim Auslesen liest man immer nur nullen (=Ausleseschutz)
in vorgegebenen Bereichen.

Mit Löschen hat Dein Problem ja nichts zu tun. Man kann aus "einsen" 
immer "nullen" machen = drüberprogrammieren. Somit können ohne Probleme 
512 Bytes zu Null programmiert werden, da das Programmieren ja byteweise 
geschieht.
Das Löschen von Sektoren würde aus Nullen wieder Einsen machen. Und dies 
geht nur Sektorweise, also 16 kB-weise.

Besserwisser
Gast
Besserwisser schrieb:
> Hat dieser uC vielleicht einen Security-Bereich ?
> Wenn der enabled wurde, steht zwar das Programm immer noch korrekt
> drinn, aber beim Auslesen liest man immer nur nullen (=Ausleseschutz)
> in vorgegebenen Bereichen.

Nein eine "read-protection" ist auf diesem Bereich (ein Bootloader) 
nicht drauf. Alles ist auslesbar. Im Gegenteil, hier ist ein 
Schreibschutz drauf (eine write protection). Von daher ist es 
theoretisch unmöglich daruber zu programmieren

>
> Mit Löschen hat Dein Problem ja nichts zu tun. Man kann aus "einsen"
> immer "nullen" machen = drüberprogrammieren. Somit können ohne Probleme
> 512 Bytes zu Null programmiert werden, da das Programmieren ja byteweise
> geschieht.
> Das Löschen von Sektoren würde aus Nullen wieder Einsen machen. Und dies
> geht nur Sektorweise, also 16 kB-weise.
>
> Besserwisser
Gast
Keiner eine Idee warum die ersten 512Byte mit 0 überschrieben wurden, 
obwohl ein "Schreibschutz" auf dem Bereich war?
Kann das ein HW defekt sein?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.