AT45DB321C - ATMEL SPI Flash mit AVR

Gast #595336
Im Anhang ein kleiner Teil meines Projektes
mit dem ich einen kleinen GPS Logger bauen will.

Der Code soll nur prinzipiell zeigen, wie man mit dem
Atmel SPI Flash (AT45DB321C) kommuniziert.
++++ Da sind noch einige Schönheitsfehler und nicht getestete Stellen 
drin ++++

Der Grund warum ich so was unfertiges poste ist
dass ich nicht weiß, wann ich dazu komme den Code für die Allgemeinheit 
aufzubereiten und so kann es dem einen oder anderen helfen das
Datenblattwälzen zu verkürzen.

 lg Daniel
Angehängte Dateien:
Gast
Hallo Daniel,
so was in der Richtung suche ich gerade, nicht unbedingt für GPS, mehr 
als allgemeiner Datenlogger. Wenn ich mir Deinen Code anschaue, habe ich 
ein paar Fragen:
- Du hast noch einen Datenpuffer im MC, warum nutzt Du die zwei SRAM 
Puffer im Flash nicht direkt. Einen voll schreiben und während der 
Flashzeit den zweiten nutzen.
- Dein Puffer nutzt nur 254Byte, der Flash hat 512(528) Bytes/Page

Grüße
Lothar
Gast
"Du hast noch einen Datenpuffer im MC, warum nutzt Du die zwei SRAM
Puffer im Flash nicht direkt. Einen voll schreiben und während der
Flashzeit den zweiten nutzen."
Hast vollkommen Recht, das war mir damals auf die schnelle gar nicht 
bewusst.

"Dein Puffer nutzt nur 254Byte, der Flash hat 512(528) Bytes/Page"
Das war einer der Fehler :)
Meine aktuelle Pfriemel-Version nutzt zwei Pufferarrays und spricht 
somit die ganze Breite an, allerdings wäre das ja auch durch die SRAM 
doppelt gemoppelt ;)

Wenn ich wieder Lust und Zeit hab setz ich mich mal ran.
Gast
Kann ich diesen Flashspeicher auch für Programmcode (Quellcode) 
benutzen? Also beim Flashen des AVRs diesen Speicher mit beschreiben um 
somit deutlich größere Projekte entwickeln zu können?

Vielen Dank.
Gast
Hallo,
wo ihr gerade bei dem Thema seid...bin absoluter Anfänger und habe jetzt 
Abschlussarbeitsmäßig das Problem, meinen Mega16 mit deutlich mehr 
Speicher für die Daten eines Sensors auszustatten.
Ist der AT45DB321C über SPI da ne gute Idee und auch softwaremäßig für 
blutige Anfänger in begrenzter Zeit zu bewältigen?
Die gps.zip scheint ja ein guter Ansatz für mein Problem zu sein!
Wie muß ich das ganze verdrahten?
Wo bekomme ich den AT45DB321C überhaupt?
Hat jemand ne bessere, ganz simple Idee für mehr Datenspeicher?

Bin schonmal im vorraus für jeden Rat dankbar...
Gruß Marcus
Gast
moin moin,

versuche auch gerade ein spi-flash anzusprechen, leider klappt es noch 
nicht. warum setzt du
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPIE)|(1<<CPHA);
in der receive wieder neu?
reicht es nicht das einmal in der spiint zumachen?

gruß

hugo
Gast
Ehrlich gesagt nein,
es war Urlaub und da hab ich den oben genannten Code minimal verändert 
benutzt. Ging einwandfrei.
Aber weitergemacht, bzw. richtig gemacht - da fehlt mir komplett die 
Zeit.

Ich habs hier nur gepostet, damit die Leute einen Ansatz haben, wenn
sie den Flash nutzen wollen.
EIne richtige Anbindung ersetzt das leider nicht ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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.