Hello,
In my debug session, when I tried to display the contents of the external data RAM through the memory window, I see always a value corresponding to the upper 2 nibbles of the address. For example, addresses 0xF000 to 0xF0FF show the value 0xF0, while addresses 0xF100 to 0xF1FF show the value 0xF1.
Displaying the contents of the Flash memory seems fine on the other hand.
Any idea why is the display of the external data RAM not working for me? Many thanks in advance!
And you're absolutely sure that external memory is correctly connected and functioning? I ask because this failure pattern is somewhat similar to what one gets if trying to use read from external RAM that doesn't physically exist, or is not connected properly.
Or maybe it's not actually external RAM you're talking about, but rather built-in XRAM? If so: are you sure this internal XRAM has been enabled?
I am using the Infineon DAS client for debugging, not the simulator. And yes, I am referring to the on-chip XRAM.
From the configure target options window under the "Target" tab, there is a tick box to use the on-chip XRAM (0xF000-0xF5FF). I have tried selecting and deselecting this to no effect. Is there a specific step to enable the XRAM to be visible to the debugger which I may be missing?
Btw, the version of uVision I am using is V5.14.2.
Forget about visibility to the debugger for a moment. You have to make it visible at all.
And no, the setting in the "target" tab doesn't enable the XRAM. That only informs the linker that it's allowed to use this memory. The actual enabling has to be done in the startup code. You'll have to read that carefully. Or you can investigate from the other end by looking into the datasheet how this controller handles the switch between external and internal RAM, and then you can find how the relevant control inputs are set.
I do not know your chip, but this very question has come up several times re chips that require memory configuration in STARTUP. NOTE: configuring memory at "top of main" does NOT do the trick.