Forum: Mikrocontroller und Digitale Elektronik AT91SAM9260 + Dataflash


von opacer (Gast)


Lesenswert?

Hallo zum zweiten ;)

bislang habe ich meine zwei AT91SAM9260 Bords mit einem "normalen" 
parallel NOR-Flash ausgestattet (an NCS0). Der integrierte Bootloader 
kann ja auch aus einem Dataflash über SPI das Programm auslesen und dann 
z.B. ins SDRAM kopieren..
Da ich mein Programm beim starten eh vom NOR ins SD-Ram kopiere, würde 
das meine Platzprobleme bei meiner neusten Platine etwas lindern und das 
Layout wesentlich vereinfachen.

Wie funktioniert das dann mit dem Programmieren von dem Dataflash? Ich 
arbeite mit dem µLink/µVision von Keil. Das unterstützt Dataflashs zum 
programmieren.
Schreibe ich ganz normal mein Programm mit SDRAM Init im Startup etc., 
programmiere über µLink das Dataflash und der Bootloader nutzt das 
Programm im Dataflash im Prinzip wie im NOR-Flash?

Dummerweise habe ich mir bei den anderen beiden Bords nicht die Option 
für ein Dataflash + Bootloaderstart gelassen ;)

Grüße & Danke!

von EFA (Gast)


Lesenswert?

Ich war bisher davon ausgegangen, dass das Boot Program eigentlich bei 
jedem Start durchläuft. Zumindest suggeriert dies das Datenblatt (Ch 
13).

Laut Datenblatt kopiert das Boot Program, wenn es ein valides Programm 
findet, dieses aus dem Dataflash ins Ram, remapt dieses dann um und 
springt an den Anfang des Rams.

Demzufolge muss das SRAM zu diesem Zeitpunkt schon vom Boot Program 
initialisiert worden sein.

Der Dataflash lässt sich auch mit dem SAM-BA programmieren.

Das Booten aus einem NAND-Flash ist aufgrund eines Bugs übrigens nicht 
möglich.

Gibt es Deine Platine irgendwo zu bewundern? Und falls nicht, kommst du 
mit 4 Lagen aus?

von opacer (Gast)


Lesenswert?

Ich komme mit 2 Lagen aus ;) Bislang jedenfalls .. und hab auch 
keinerlei Probleme mit dem SDRAM und/oder anderen Sachen.. Analoge Teile 
habe ich allerdings auf einen zweiten Platine drauf. Kann derzeit leider 
kein Bild machen ..

Also so wie ich es jetzt verstanden habe (den Bootloader muss man ja 
aktivieren) schaut der Bootloader im Dataflash nach, kopiert dann das 
Programm ins INTERNE SRAM (das ja nur 2x4K groß ist) und springt dann 
dort an 0 und führt das aus. Wenn man jetzt das SDRAM nutzen will, muss 
das Programm dann das SDRAM initialisieren und den Rest aus Dataflash / 
NAND-Flash Sonstwo laden..

von EFA (Gast)


Lesenswert?

Stimmt, bei genauerem lesen der Doku zum Thema Boot Program fällt auf, 
dass das entscheidende "D" in SRAM fehlt.

Ich verwende generell 4 Lagen mit zwei soliden Versorgungslayern, aber 
es beruhigt mich, dass ich den Rest dann locker auf die Außenlagen 
bekommen werde.

Welchen SDRAM-Typ hast du genau verbaut?

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.