I am trying to run a program on several cores, with each core doing a chunk of the work, and sharing some area of memory. I am using CCS 4.2, SYS/BIOS on a EVM C6472 board with JTAG. So one of the things I need is the ability to monitor memory shared between cores. It can be used for as a primitive semaphore, among other things: all cores can wait on some shared variable to be set to a certain value. From the debugger's "Watch" window, you can both read and write to memory (i.e. you can see a variable's value and you can change its value externally, by typing it into a cell).
The problem is that the "Watch" doesn't seem to update in real time (i.e. as the program is running). I have to press the "halt" button in CCS before the values are updated. So, I cannot set my semaphore before the program is paused, which defeats it purpose. Even without the need for synchronization, it would still be beneficial to see the variables being updated as the program runs. Any suggestions on how to do that?
On a related note, when I try to switch between "Watch" windows in different cores, after updating a shared variable, all variables in the other core display an error "Could not read memory at 0x000...: Execution state prevented access".