Hi, ich verwende den Infineon XC164CS-32F Mikrocontroller. Warum klappt folgendes nicht? Wie kann bekomme ich einen Pointer auf den Speicherbereich?? Der Speicherbereich 0xC000 bis 0xC7FF ist das Data SRAM (DSRAM) und befindet sich in Data Page 3. void initUserStack(void) { unsigned int USTop = 0xC7FF; unsigned int USBot = 0xC000; unsigned int far *ustop = (unsigned int far*)&USTop; unsigned int far *usbot = (unsigned int far*)&USBot; unsigned int far *p; for(p = usbot; p < ustop; p++) { *p = 0x167; } }
Hi, weil du die Pointer mit den Adressen von dein Vars vom Stack lädst und nicht mit den Adressen die du möchtest.
1 | unsigned int USTop = 0xC7FF; |
2 | unsigned int USBot = 0xC000; |
3 | unsigned int far *ustop = (unsigned int far*)USTop; |
4 | unsigned int far *usbot = (unsigned int far*)USBot; |
Stephan
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.