Infineon XC164CS Mikrocontroller - Pointer

Gast #1946707
Lesenswert?

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;
  }
}
#1946773
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren