Code Composer V6, all updates installed.
Using C6748 single core DSP.
Here is an interesting behavior noted in CCS, and the sequence that leads to the behavior.
First, the processor is reset, then unreset, and the application software loaded and started, then stopped at main() as usual by default for the debugger.
Running the application is completely fine, no issues whatsoever. Exactly as expected.
At some point, though, the application expects to find a data base in the memory, and the data base has a checksum. No issues there, either. The checksum algorithm is fine, the data base is fine. However, to test the application, it is desired to load into the RAM area an altered version of the data base that contains specific 'failure' points to test the application logic. So far, so good.
Until ... the CCS "Load Memory from File" operation is used. The memory is loaded exactly as expected, exactly at the address and for the length expected, and is visible in RAM via the Memory window of CCS. So far, so good, right. The file is binary, loads correctly, etc.
HOWEVER (!)
After the Load Memory from File operation completes, the CCS debugger "forgets" all the symbols in the application program! The application program is unaltered in memory ... but, in addition to the debugger forgetting the symbols in the application program, it also forgets the debug status that was in effect when the program was stopped and prior to the Load Memory from File command.
There is no recovery from this effect, either. Reloading the program symbols --- no; the debugger is "lost" and can't figure out where the program is stopped ... and it just runs off into the "weeds". Restarting the program --- no; that unexpectedly doesn't work either, despite the fact that the application program is clearly visible in the expected RAM area AND the "test data base" is also correctly loaded in its (separate) RAM area.
I'm suspecting that reloading the program introduces me to "cache effects", so I'm considering that the cache configuration probably is the root of that evil. And that is not my question.
It just seems wrong to me that loading a binary file into an unrelated RAM area would cause the debugger to forget the application program symbol table and lose the current debug session status.
Has anyone else had this happen?
Am I missing something here? A default debugger option? Etc?
