Freescale i.mx25 nand flash locked

OP #3147029
Lesenswert?

Hallo zusammen,

ich werde hier noch verrückt...

Habe einen iMx25 von Freescale und ein NAND von Micron, 
MT29F8G08ADADAH4..

Ich möchte nun flashblöcke löschen und dazu (meine ich) unlocke ich 
zunächst alle blocks. Ich mache es so, wie auch der u-boot in seiner 
"board_nand_init" Funktion. Config1 Register initialisieren mit 0xd1b, 
SPAS mit 0x40. Nun folgt der unlock auf CS0: unlockStart = 0, unlockEnd 
= 0xffff, rambuffer_addr = 0...

WPROT = 1<<2

Direkt danach steht im wprotstatus-reg: 0x496...

d.h. es gibt sowohl locked als auch unlocked blocks im CS0-bereich... 
Sehr schön, wozu habe ich dann aber gerade alle "un-locked" ??

Wenn ich nun ein block erase mache (z.B. Block 0), dann gibt es beim 2. 
Command des erase (0x60, 3x addr-cycle, 0xD0) also beim senden von 0xD0, 
einen data-abort... Genaugenommen geschieht das beim Setzen des 
FCMD-bits von Config-reg2...

Hatte schon jemand mal dieses Problem gelöst? Anders macht es uboot 
eigentlich auch nicht...

Danke & Gruss
Joe
OP #3147134
Lesenswert?

Hallo zusammen,

habe es nun gefunden, hat mich 2 Tage teure Arbeit gekostet - Freescale 
sollte man dafür eigentlich in den A. treten...

In der NFC Registerbeschreibung fehlt ein RESERVED... Direkt nach 
CONFIG2 kommt in der Tabelle der unlock_start_0...

Dank eines Zufalls habe ich eine Änderungshistorie in einem GIT 
gefunden, wo ich mal die Strukturen verglichen habe. Dort sind 3 Stellen 
mit RESERVED, bei mir nur 2...

Zwischen den genannten Registern ist einmal 16-bit unbenutzt !!! Die 
Adress-offsets in der Tabelle stimmen zwar, aber da schaut man nicht 
unbedingt hin, wenn man seine Struktur anlegt.

Danke an Freescale (...) Das wird bei der nächsten Projektentscheidung 
sicher bei meiner Prozessorauswahl berücksichtigt.

Gruss
Joe
Gast #3180631
Lesenswert?

Ah, jetzt sehe ich es im U-Boot auch. :D Also einfach zwischen
CONFIG2 und UNLOCK_START_0 ein uint16_t einschieben.


Ich danke Ihnen sehr! Ich wäre da sicherlich nie drauf gekommen... (Aber 
ich habe, dank Ihnen, auch nur eine Stunde an dem grübeln Problem 
müssen.)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren