I'm suddenly getting the following error from CCS:
C674X_0: Trouble Halting Target CPU: Error 0x00000020/-1202 Error during: Execution, CPU pipeline is stalled and the CPU is 'not ready'. This means that the CPU has performed an access which has not completed, and the CPU is waiting. The target may need to be reset. The user can choose 'Yes' to force the CPU to be 'ready'. When this is done, the user will have the ability to examine the target memory and registers to determine the cause of the CPU stall. If CPU hang is caused by application and it has been forced to be 'ready', the CPU should not be run without a reset. Yes - force CPU ready (might corrupt the code) Disconnect - disconnect CCS so that it can be reset Retry - attempt the command again I click on YES and get:
C674X_0: Trouble performing response: Error 0x20001026/-1202 Severe Error during: Memory, Register, Execution, Target, CPU pipeline is stalled and the CPU is 'not ready'. This means that the CPU has performed an access which has not completed, and the CPU is waiting. The target may need to be reset. The user can choose 'Yes' to force the CPU to be 'ready'. When this is done, the user will have the ability to examine the target memory and registers to determine the cause of the CPU stall. If CPU hang is caused by application and it has been forced to be 'ready', the CPU should not be run without a reset. Yes - force CPU ready (might corrupt the code) Disconnect - disconnect CCS so that it can be reset Retry - attempt the command again C674X_0: Trouble Reading PC Register: Error 0x00001004/-1202 Error during: Register, Target, CPU pipeline is stalled and the CPU is 'not ready'. This means that the CPU has performed an access which has not completed, and the CPU is waiting. The target may need to be reset. The user can choose 'Yes' to force the CPU to be 'ready'. When this is done, the user will have the ability to examine the target memory and registers to determine the cause of the CPU stall. If CPU hang is caused by application and it has been forced to be 'ready', the CPU should not be run without a reset. Yes - force CPU ready (might corrupt the code) Disconnect - disconnect CCS so that it can be reset Retry - attempt the command again C674X_0: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue The error happens when accessing memory in a shared region. Here is my current Platform.xds file: metaonly module Platform inherits xdc.platform.IPlatform { config ti.platforms.generic.Platform.Instance plat = instance : override config string codeMemory = "DDR2"; } I need at least 5MBytes for images in SR1. I also have rw mem = 256M for linux in the bootargs. Any problem with my platform definition? Update: I ifdefed-out the block of code previous to where the crash occured and the crash did not happen. In the block of code ifdefed-out I'm doing DMA transfers to L1D using the EDMA low-level driver. I suspect the bug has something to do with that. Lee
ti.platforms.generic.Platform.create("plat", {
clockRate: 800.0,
catalogName: "ti.catalog.c6000",
deviceName: "TMS320TI816X",
externalMemoryMap: [
["EXT_RAM",
{name: "EXT_RAM", base: 0x80000000, len: 0x10000000, space: "code/data",access: "RWX"}],
["DDR2",
{name: "DDR2", base: 0x98000000, len: 0x02100000, space: "code/data",access: "RWX"}],
["SR0",
{name: "SR0", base: 0x9F700000, len: 0x00200000, space: "code/data",access: "RWX"}],
["SR1",
{name: "SR1", base: 0x90000000, len: 0x06000000, space: "code/data",access: "RWX"}],
],
l1DMode:"16k",
l1PMode:"32k",
l2Mode:"256k",
});
override config string dataMemory = "DDR2";
override config string stackMemory = "DDR2";