Hello,
I am always reluctant to blame hardware, but we're experiencing lockups on the C6745 DSP that I cannot explain. We have silicon revision 2.0 (C6745BPTPD4). CCS v3.3.82.13 (with DSP/BIOS 5.33.06 and code generation tools 6.1.21) fails to connect and indicates the error message below. I am curious if our issue relates to the C6745 errata advisory 2.1.4 or 2.1.21. I use EDMA to communicate with UART0, UART1, SPI0, I2C1, and MMCSD peripherals. For the UART receive signals in particular, I configure the EDMA to place data in a circular buffer using both chaining and linking. EDMA runs continuously. All other peripherals initiate transfers by CPU instruction. I have not configured priorities.
Trouble Reading Memory Block at 0xb0000008 on Page 0 of Length 0x4: Error 0x00000002/-1202 Error during: Memory, 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
GEL: Error while executing OnTargetConnect(): target is not connected.
I added the --c64p_dma_l1d_workaround option to my build options for all libraries in all configurations, and in very limited testing, we haven't seen another crash. Though this result is positive, I find it a bit unsettling because I am not sure if the errata actually applies to my specific application. I do configure my L2 memory to contain two memory segments, one as cache and the other as code/data.
Could this errata error cause the UART's LSR register to report erroneous framing errors when using EDMA?
Thanks!
-Paul