www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM9260 + Dataflash


Autor: opacer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: EFA (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: opacer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: EFA (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.