Gast
#29442
Hallo Leute! Ich habe den Keil-Compiler und programmiere (in C) einen C167-µC (Eval-Board C167CR 256K Flash und 64K Ram). Diesen µC habe ich um zusätzliche 32K-Byte erweitert. Die Speicherkonfiguration ist schon richtig eingestellt. Der Keil-Compiler mapped mir die Speicher richtig z.B: HDATA (0x40000-0x4FFFE, 0x50000-0x57FFF), HDATA0 (0x40000-0x4FFFE, 0x50000-0x57FFF) Hier werden einmal die 64K und dann die 32K gemappt. Meine Frage: Wie kann ich ein Feld auf eine bestimmte Adresse bringen. Wenn ich jetzt ein Feld initialisiere: unsigned char huge feld[50000]; unsigned char huge feld2[30000]; Hier wird das erste Feld auf Adresse 0x40000 gebracht und das zweite folgt. Wie kann ich Feld2 direkt auf Adresse 0x50000 bringen? Also auf den 32K-Speicher. Mit dem CodeVisionAVR-Compiler von Atmel geht das ganz einfach mit: unsigned char feld[200] @0x260; // Beginn externes Ram Nur programmiere ich jetzt keinen Atmel, sondern einen Infineon. Wie geht das bei diesem Compiler? In der Beschreibung habe ich auch nichts gefunden. Oder habe ich es übersehen. Vielen Dank für eure Antwort. Martin