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.
-v ist üblicherweise ein Schalter für make bzw den compiler. Damit werden mehr Informationen ausgegeben, um die Fehlersuche zu erleichtern
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.
Habe nun eine Lösung gefunden: Zieladresse = 0x10020 uint8_t __data20* Pointer = (uint8_t __data20*) Zieladresse; Danke ;)
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.