LPC3180 MLC NAND Flash Controller

OP #489063
Lesenswert?
• ▲
▼
Nachdem ich in der LPC2000 Yahoo Group keine Reaktionen bekommen habe 
versuche ich es hier. Eventuell hat ja doch jemand bereits mit diesem 
"grossen" uC gearbeitet, vielleicht hat ja sogar Robert Teufel etwas 
dazu zu sagen.

Ich arbeite zur Zeit mit einem NXP LPC3180, da dieser einen ETB 
(Embedded Trace Buffer) besitzt, welcher es erlaubt, Trace Daten via 
JTAG anstelle der high-speed ETM Schnittstelle abzurufen.

Der ARM926EJ-S Core des LPC3180 wird bereits durch den OpenOCD ("meinen" 
JTAG Debugger) unterstützt, der nächste Schritt ist es, eigenen Code auf 
das Board zu bekommen.

Beim Versuch, die Verwendung von NAND Flash zu verstehen, bin ich auf 
einige Unzulänglichkeiten des User Manuals gestossen. Da der MLC (Multi 
Level Cell) Flash Controller in jedem Fall benutzt wird (auch wenn das 
Phycore Board nur SLC Flash bietet), um den ersten Benutzer-Code zu 
laden, wollte ich die Unterstützung dafür dem OpenOCD hinzufügen.

Das UM sprich von einem Serial Data Buffer, ohne jedoch zu erwähnen, wo 
sich dieser Puffer befinden könnte. Der Beispiel Code, der mit dem 
phyCore-LPC3180 geliefert wurde, definiert MLC_DATA als Adresse 
0x200b0000 und MLC_DATAX an Adresse 0x200a80000), allerdings ist keine 
dieser Addressen im UM aufgeführt.
Der Beispiel Code verwendet nur MLC_DATAX, das On-Chip ROM liest 
allerdings von Adresse 0x200b0000, nachdem es das "READ ID" Kommando 
abgesetzt hat. Weiterhin liest das ROM von 0x200a8000, verwendet 
allerdings "LDM" (Load Multiple) und liesst dadurch mehrere Datenworte 
hintereinander - das deutet darauf hin, dass der Puffer entweder mehrere 
Worte lang ist, oder dass nicht alle Adressen dekodiert werden, leider 
ist davon nichts dokumentiert.

Es ist ein wenig aufwendig, das ROM als einzige Referenz zur Benutzung 
des MLC NAND Controllers verwenden zu müssen, trial-and-error gefällt 
mir hier auch nicht besonders.

Kennt irgend jemand zusätzliche Dokumentation, möglicherweise ein 
aktuelleres User's Manual (meines ist Rev. 01 vom Juni 2006), oder 
Application Notes, welche die Verwendung des MLC NAND controllers 
erklären?

Grüsse,

Dominic

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.