Forum: Mikrocontroller und Digitale Elektronik MSP FRAM Pointer im 20Bit Bereich


von Mathias H. (mathew)


Lesenswert?

Hallo Zusammen,

ich habe einen 16-Bit MSP FRAM, welcher einen 20Bit Bereich hat.

Ich möchte nun einen Pointer um auf die einzelnen Speicheradressen im 20 
Bit zugreifen zu können.
In diesem Bereich soll dann Byteweise geschrieben werden.

Leider finde ich keine Lösung wie es gehen könnte.

Hat hier jemand Erfahrung?`

Grüße
Mathias

Beitrag #5929468 wurde von einem Moderator gelöscht.
von Jim M. (turboj)


Lesenswert?

-v, bitte.

von Mathias H. (mathew)


Lesenswert?

Jim M. schrieb:
> -v, bitte.

Was?

von gurgl (Gast)


Lesenswert?

-v ist üblicherweise ein Schalter für make bzw den compiler. Damit 
werden mehr Informationen ausgegeben, um die Fehlersuche zu erleichtern

von Clemens L. (c_l)


Lesenswert?

Mathias H. schrieb:
> ich habe einen 16-Bit MSP FRAM

Welchen?

> Ich möchte nun einen Pointer um auf die einzelnen Speicheradressen im 20
> Bit zugreifen zu können.

Wenn der Compiler weiß, dass du einen 20-Bit-MSP hast, dann geht das mit 
einem normalen Pointer.

von Mathias H. (mathew)


Lesenswert?

Habe nun eine Lösung gefunden:

Zieladresse = 0x10020
uint8_t __data20* Pointer =  (uint8_t __data20*) Zieladresse;

Danke ;)

von Jim M. (turboj)


Lesenswert?

Ahhhh, das ist ein 20-Bittiger µC mit internem FRAM.

Ich hatte das oben als "externer FRAM am 16-Bit MSP" missverstanden.

Leider wäre auch da ein "-v" nötig gewesen, denn IIRC gibt es für MSPX 
mehrere C-Compiler die dann auch 20 Bit Pointer unterschiedlich 
behandeln.

von Mathias H. (mathew)


Lesenswert?

Dann als kleiner Zusatz: Habe den IAR als Compiler ;)

von Roland E. (roland0815)


Lesenswert?

Die entsprechenden X-Befehle im Assembler nehmen. Die Arbeitstegister 
der großen MSP sind ebenfalls groß genug für 20Bit.

Beim Wegspeichern in den RAM muss man halt etwas aufpassen.

PS: Der IAR macht das eigentlich automagisch. Die Variable muss halt 
größer als 16Bit sein.

von Clemens L. (c_l)


Lesenswert?

Mathias H. schrieb:
> Habe den IAR als Compiler

Dann lies mal den Abschnitt "Data Models" im Handbuch.

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.