Forum: Mikrocontroller und Digitale Elektronik externes ram verwenden in c


von andi (Gast)


Lesenswert?

hallo!

wie kann ich in auf eine bestimmte adresse im externen sram etwas
schreiben? wichtig ist, dass es eben im EXTERNEN sram stehen muss!

vielen dank im vorraus

mfg anm

von OldBug (Gast)


Lesenswert?

Da gibts eine ganze Menge Wege.
Als erstes musst Du das externe SRAM-Interface aktivieren.
Je nachdem wie früh/spät Du das in Deiner Applikation machst, kannst Du
entweder per Pointer direkt auf das externe SRAM zugreifen, malloc() ins
externe SRAM packen oder sogar die ganzen Variablen in das externe SRAM
verlagern. Den Stack würde ich aus Performancegründen auf jeden Fall
im internen SRAM belassen, die Variablen aus dem gleichen Grund
Vorzugsweise auch. Damit bliebe noch malloc() und der "direkte"
Zugriff per Pointer übrig.

Das ganze geht in etwa so (aus dem Kopf):

unsigned char *pExtSRAM = 0x1100;

    MCUC(S)R = (1 << SRE); /* no wait-states */
    pExtSRAM[0] = 0x55;
    pExtSRAM[1] = 0xAA;
    /* ... */

von andi (Gast)


Lesenswert?

erstmal danke für deine schnelle antwort!
also bei mir funktioniert dein code nicht. er meldet, dass die
zuweisung  der pointeradresse nicht funktioniert. er schreibt, dass die
operanten dieser funktion illegale typen aufweisen (ICCAVR).
und warum verwendest du pExtSRAM[0] [1] ... wenn du vorher kein array
definierst?

danke

mfg andi

von OldBug (Gast)


Lesenswert?

Hups, sorry:

unsigned char *pExtSRAM = (unsigned char *) 0x1100;

Warum ich pExtSRAM[x] benutze? Weil es einfacher zu lesen ist als

    *(pExtSRAM + x) = 0x??;

Dazu liest Du aber besser mal ein Kapitel über Zeiger/Arrays in einem
guten C-Buch, falls Du noch Fragen hast ;)

von andi (Gast)


Lesenswert?

danke, das mit dem zeiger hab ich bereits gefunden! dass das mit
pExtSRAM[x] geht ist mir neu! danke!

von OldBug (Gast)


Lesenswert?

Ist diese Lösung denn überhaupt das, was Du haben möchtest?
Ich könnte mir schon vorstellen, daß Du eigentlich etwas völlig anderes
vorhast -- ist aber nur so ein "Bauchgefühl" :-)

von andi (Gast)


Lesenswert?

passt haargenau für das was ich vorhabe! hast ein gutes gefühl im bauch
:D

schöne grüße aus tirol

mfg andi

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.