Hello. I'm using a TMDXEVM6670L EVM and a XDS560 emulator to run the Memoroy Protection on Keystone Devices example availible in the Processor wiki (http://processors.wiki.ti.com/index.php/MemoryProtectionOnKeystoneDevices#Multi-Core_Shared_Memory_Controller_.28MSMC.29). Although the example was designed for a c6616, after modifying a list of system variables in the project configuration I did make the example to run in the simulator of the CCS 5.
However, the example doesn't run complete. When the execution reaches the functin IPC_waitForSyncToken of ipc.c it stays still, so my only solution to the problem was to comment the code of the function or to jump this IDLE instruction modifying by hand the loop condition during debug.
Besides, when the list of memory access test performs a Execution test in a not allowed zone of the memory, it doesn't return to the normal program flow as expected causing the program to crash. I put breakpoints in all the exception handler functions (in error_handelr.c) to check if the PC went to some of them, but apparently no exception is catched so the correction isn't done. The error occurs only for Execution, because Write and Read tests work well for the same zones. I looked for the MPPA register values in the device_configuration.h file and they are correct for the zone I'm testing (execution not allowed).
I have no long experience with the DSP, but one of the things I'm trying to do is to make my code safer against errors and piracy. I guess the change of chip definition corrupted the exception configuration or they are not compatible.
Have somebody executed this example in the TMS320C6670 SoC or had the same error? What must I correct to make it work?
Thanks.
Hi,
I also had some Problems with the Memory Protection on C6678.
I just found this post: http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/172253/629472.aspx#629472
It seems that the simulator does not support Memory Protection exception.
I hope this was helpful
Regards Fabian