This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/TMS320F28335: Section .econst, strange behavior.

Part Number: TMS320F28335


Tool/software: TI C/C++ Compiler

Hello,

I faced a strange behavior of TI linker. I declared an array
with inital values. While I run the program through the
debugger everything ok, but I switch it off and on again
(without the debugger, so the progran ran entirely
form flash) the content of the array in the memory was
wrong (I connected to the running target to check
the array.)

After some investigation I noticed that the .econst
section in the project's command file was placed
to the RAM. In the "official" flash command file this
section is in the flash, and after I placed the econst to the
flash, the problem disappeared, but I don't know why.

Could anybody explain me what happened exacly?

The array:

const unsigned int ODList[] =
{
    0x1000,
    0x1001,
    0x1008,
    0x1009,
    0x100A,
    0x1018
};

The project's (supposedly wrong) command file: