Forum: Mikrocontroller und Digitale Elektronik SPI für uC-->Flash konfigurieren


von Steff (Gast)


Lesenswert?

Hallo
kennt sich jemand aus mit der Einbindung eines uCs mit einem Flash?
                                             LPC2129      at45db...

Bin ganz neu auf diesem Gebiet und weiß nicht genau wie man da am besten 
vorgeht. Hab bis jetzt nur mal die umschaltung von GPIO auf SPI 
hinbekommen.
Wäree echt sehr dankbar wenn mir da jemand weiterhelfen könnte.Was 
bräuchtet ihr denn noch für Details?
Grüße

von holger (Gast)


Lesenswert?


von Steff (Gast)


Lesenswert?

ja genau, hat mir aber mit meinem wenigen wissen, nicht arg viel 
weitergeholfen

von ahem (Gast)


Lesenswert?

Der SPI bringt wenig, denn nach 8 clockzyklen kommt schon der Interrupt. 
Und der Interrupt muss die Register saven, push/pop und dergleichen. Da 
kann man die Leitungen auch gleich von Hand bewegen. Wie die Leitungen 
wackeln muessen steht ja im datenblatt.

von hmm? (Gast)


Lesenswert?

Du meinst sicher interrupt bringt bei einem spi Master nichts?
der lpc schafft eine spi clock bis 30mhz. Wird schwierig das mit gpio zu
machen.


steff:
Was läuft denn überhaupt an deinem Programm? hört sich so an als 
bräuchtest du keine spi Hilfe sondern einen Crashkurs über µc.

von Steff (Gast)


Lesenswert?

les über einen smbus verschiedene Werte(Temperatur,Spannung usw.) aus 
einem Überwachungsbaustein. Diese Werte sollen in einem Flash abgelegt 
werden.
Könntest du mir evtl sagen wie man da am besten vorgeht?
Sonst funktioniert ja alles, weiß nur nicht wie ich am besten bei dem 
SPI vorgeh und ihnm erstmal konfiguriere
Wäre nett wenn du mir weiterhelfen könntest

von Steff (Gast)


Lesenswert?

Hat mir keinen wenigstens einen kleinen Tipp, wie man da vorgeht?
Hab mir schon mehrere Beispiele angeschaut um das grundprinzip bisschen 
zu verstehen, aber kann das trotzdem nicht für meine Anwendungen 
umsetzen.
Mit was fange ich denn am besten an?Die Initialisierung steht soweit. 
bräuchte nur noch die funktionen fürs lesen und schreiben.
Ist das das ähnliche Prinzip wie beim I2C?
grüße

von let (Gast)


Lesenswert?

Mir ist offen gestanden nicht klar worin eigentlich dein
Problem liegt.  Bist du noch mit dem SPI zugange? Lesen
und Schreiben sind ja jeweils nur Zweizeiler.

Bei dem at45db im geposteten Code geht es um die Funktionen
at45_readBlock(), at45_writeBlock() und at45_doSomeWork().
Gut, das mit dem doSomeWork() ist etwas seltsam.

Es geht aber auch mit nur einem Aufruf:
1
void at45_writeBlock_sync(uint32_t addr, const uint8_t* src, uint16_t length)
2
{  
3
  at45_writeBlock(addr, src, length);
4
  while (!at45_doSomeWork());
5
}
Ein readBlock_sync() gibt es schon.

Wenn dir der Code zu kompliziert ist, welche Art von Hilfe stellst
du dir dann vor?

von Steff (Gast)


Lesenswert?

Hallo let,
Die lese und schreib routinen hab ich soweit hinbekommen. Hab das genaue 
Problem in einem anderen thread hoffentlich genauer beschreiben.

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.