We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I've one global pointer to a register in one c-file. This variable is stored in the sram at the position (shown in the symbol window) - e.g. 0x00100000. But when I take a look into the memory window I can see this variable at 0x00100000, 0x00110000, 0x00120000, 0x00130000 and so on. What's the reason for this?
The header file is included in this c-file and in another c-file calling one function.
When I commend out this variable I don't see this pattern in the sram - but I can see a few other pattern where's the same problem (with maybe librarys). In both c-files I include the same librarys.
thanks in advance JChris
thanks for your explanation - now I understand what you mean. The size for the SRAM is much bigger than the SRAM really is, so the values of the SRAM will be shown several times.
JChris
Yes, it is quite common (at least for "bigger" processors) that the allocated space is a lot larger than the actual amount of RAM.
The ARM has 4GB of address space. Because of this, they may allocate a huge memory range for RAM. Then they release a number of specific models with varying amount of RAM and/or FLASH.