If I create a large array in my C code that sites in external memory (DDR) that is, as far as I know, set up as data memory, when I debug, Eclipse spends forever and a day writing something to that external memory in why my array is created.
So, I have the following:
static uint8_t message_in_array[NUMBER_OF_MESSAGE_BUFFERS][MESSAGE_IN_MAX_SIZE] __attribute__((section(".DDR3_Data_RAM")));
If MESSAGE_IN_MAX_SIZE is set to the size it needs to be (100MB), then when I debug, rather than the system just downloading the small program (less than 32k) to internal memory, you can see it writing to DDR:
Here is a snippet of the console output:
Downloading 404B0000 ( 2%) Downloading 404C0000 ( 2%) Downloading 404D0000 ( 2%) Downloading 404E0000 ( 2%) Downloading 404F0000 ( 2%) Downloading 40500000 ( 2%) Downloading 40510000 ( 2%) Downloading 40520000 ( 2%) Downloading 40530000 ( 2%) Downloading 40540000 ( 2%) Downloading 40550000 ( 2%) Downloading 40560000 ( 2%) Downloading 40570000 ( 2%)
These addresses are all in section DDR3_Data_RAM, so it is clear that the debugger is loading something (although quite what I cannot fathom) into my array.
How do I stop this please?