After upgrading from CCS5.2 to CCS6.1, my call to memcpy (to relocate the hwi_vec section) seems to crash the controller.
While calling memcpy for other uses is fine, using it in the following code snippet (taken from SPRA958L) causes the MCU to (apparently) get stuck in memcpy. After pausing the debugger, I found the PC up around 0x3Exxxx, apparently still inside memcpy but with no stack trace available. On attempting to restart, the debugger indicated the MCU had been reset or entered sleep mode.
EALLOW; memcpy(&hwi_vec_runstart, &hwi_vec_loadstart, (Uint32)&hwi_vec_loadsize); EDIS;
This same codebase worked fine under CCS5.2. This is a DSP/BIOS project and I've confirmed that the linker symbols for hwi_vec_runstart, hwi_vec_loadstart and hwi_vec_loadsize come back with sane-looking values (in our case, 0x0D00, 0x3DC000 and 0x100, respectively).
Can anyone shed any light on what might be going on here?
Thanks,
Dave