Hello, i'm using the XC164-µC with internal Ram at 0xC000-0xC7FF (DSRAM) & 0xF600-0xFDFF (DPRAM).
When I use 'standard' Target Layout Memory. I get a Linker Section NDATA(0xC000-0xC7FF,0xF600-0xFDFF) and I could use 4k (-Stacksize) for NEAR DATA.
If I would use more than 16kB for NCONST I select 32kB for ROM in NEAR MEMORY-Section(@Target-Layout).
In L166 LOCATE I get following line: DPPUSE (0=NDATA(0xC000 - 0xC7FF), 1=NCONST(0xC00000 - 0xC07FFF))
The DPRAM (0xF600-0xFDFF) is now not used for NEAR DATA!
How can I use this RAM also for NEAR DATA like in the case without DPPUSE?
ciao, Karl
Ps:The XC164-16CS claims that it has 8kB internal Data. But I only found 2kB DSRAM (0xC000-0xC7FF), 2kB DPRAM(0xF600-0xFDFF) and 2kB PSRAM (0xE00000-0xE007FF). Where are the remaining 2kB located?
Hi Karl,
I don't no much about the XC164 specifically but maybe you could assign the whole range (C000-FDFF) in the DPPUSE directive and use the RESERVE directive to disable the areas where there's no RAM?
http://www.keil.com/support/man/docs/l166/l166_reserve.htm
Or take a look at the CLASSES directive and add the correct ranges for the NDATA class?
http://www.keil.com/support/man/docs/l166/l166_classes.htm
Doesn't the datasheet/user manual for an XC164 have a memory map?
Rergards, Joost Leeuwesteijn
PS. What does DS(RAM), DP(RAM) and PS(RAM) stand for?
@Joost: It works to assign the whole adress range in DPPUSE and define a smaller class for NDATA.
Thank you for the tip!
@Chris Which Version of the XC164CS-16F System Manual do you have? I have Version 2.1(March 2004) from the Infineon Homepage. In this Document on page 3-3 the adressrange for DSRAM is 0xC000-0xC7FF. But in the Datasheet for the XC164CS-16F they claim that there are 4kB DSRAM. Now I have seen that the DataSheet is from March 2006. Is there a newer Version of the System-Manual available?
No, I was looking at the 256k (32) version which has the same DSRAM amount as the 128k (16) version, 4KBytes.
Which is V1.0 (May 2004)
View all questions in Keil forum