Forum: Mikrocontroller und Digitale Elektronik 96KB SRAM vom Arduino DUE benutzen.


von peter (Gast)


Lesenswert?

Hallo,guten Tag.

Wie kann man bitte beim DUE die 1. 64KB-SRAM ansprechen zum speichern 
von Bytes und abfragen der Bytes? Legt man einfach einen Bytebuffer 
an...und fertig?
Un wie die oberen 32KB SRAM oberhalb der 64KB-SRAM?

Ich finde da keine Info.

Gruss

von Falk B. (falk)


Lesenswert?

@ peter (Gast)


>Wie kann man bitte beim DUE die 1. 64KB-SRAM ansprechen zum speichern
>von Bytes und abfragen der Bytes? Legt man einfach einen Bytebuffer
>an...und fertig?

Eigentlich schon, den Rest macht der COmpiler.

>Ich finde da keine Info.

Einfach mal probiert?  Da explodiert nichts.

von peter (Gast)


Lesenswert?

Ja der Compiler spricht die ganzen 96KB an.
Kann ein Bytearray von ca 94800KB befüllen. Den Rest beansprucht das 
Programm für sich. Bei über 94800KB kommt eine Fehlermeldung das diese 
Summe von SRAM nicht vorhanden ist.

Gruss

von Falk B. (falk)


Lesenswert?

Das Leben kann so einfach sein . . .

von peter (Gast)


Lesenswert?

SRAM0 geht von 0x20000000 bis 0x2000FFFF (64 KB)
SRAM1 geht von 0x20080000 bis 0x20087FFF (32 KB)

-----------------------------------------------------------

unsigned char *v_1 = (unsigned char*) 0x20080000;  SRAM1

Das ist eine Zuweiseung:
*v_1 = 120; an die Adresse : 0x20080000

Wie kann ich jetzt bitte eine Char-Zuweisung an 0x20080015 zb machen ?

Danke.
GRuss

von Pointer (Gast)


Lesenswert?

*(v_1+0x15) = 120; an die Adresse : 0x20080015

von peter (Gast)


Lesenswert?

Ja danke.

Es funktioniert jetzt mit den Lesen und Schreiben.

Gruss

von Falk B. (falk)


Lesenswert?

In C hantiert man nur sehr selten mit absoluten Adressen. Im Allgemeinen 
spricht man Variablen über den Namen an, natürlich erst Recht bei 
Arrays.

von Georg S. (randy)


Lesenswert?

Lass im RAM noch etwas Platz für den Stack, sonst überschreibt er die 
deine globalen Variablen.

von peter (Gast)


Lesenswert?

Ja danke für die Info.

Mit dem Stack habe ich jetzt auch gelesen beim DUE.
Ich weiss auch nicht ob er nur in den 1. 64KB ist oder sich die ganzen 
96KB zu eigen macht.

Der Tip mit dem Array ist doch wohl der sicherste zugriff.

Gruss

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.