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
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; /* ... */
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
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 ;)
danke, das mit dem zeiger hab ich bereits gefunden! dass das mit pExtSRAM[x] geht ist mir neu! danke!
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" :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.