This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320DM642: Can't Run Target CPU error when using XDS560v2 STM for debugging

Part Number: TMS320DM642

Tool/software: Code Composer Studio

When debugging the TMS320DM642 processor on a custom board, the following error message arises, after clicking on pause button:

C64x: Can't Run Target CPU: (Error -1141 @ 0x0) Device is not responding to the request. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 7.0.48.0)

This is my corresponding target configuration:

Do you have any idea what is the problem?

Thanks in advance.

Best regards,

Daniel

  • Hello Daniel,

    When exactly do you get this error? Are you able to start a debug session, connect to the target, load the program, and start running the program without issue? Is it only after you try to halt the target?

    Thanks

    ki

  • Hi ki,

    during loading the program I get this error. Following are log messages out of the GEL script (the logs are generated each time at the end of the GEL function). It is either this error:

    C64x: Can't Run Target CPU: (Error -1141 @ 0x0) Device is not responding to the request. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 7.0.48.0)

    or the error below:

    C64x: GEL Output: OnReset()
    C64x: GEL Output: OnTargetConnect().
    C64x: GEL Output: OnReset()
    C64x: GEL Output: OnPreFileLoaded()
    C64x: Trouble Writing Register PC: (Error -1141 @ 0x0) Device is not responding to the request. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 7.0.48.0) 
    C64x: GEL Output: OnRestart()
    C64x: GEL Output: OnFileLoaded()

    I would not call it a debug session, because the debugging session does not wait at main and when clicking Resume, the debugger stops at "arbitrary" positions in the code (without breakpoints), thus no actual debugging is possible. I connect to the target and load the program to the target. Then the debugger does not wait for me to click Resume at main, but rather halts at "arbitrary" positions, as explained above.

    Best regards,
    Daniel

  • Can you provide the startup GEL file that is being used? I'd like to see what is being called in OnPreFileLoaded().

    Thanks

    ki

  • This is the content of my OnPreFileLoaded() function:

    OnPreFileLoaded()
    {
        GEL_Reset();
        FlushCache();
        init_emif();
    
        reset_videoports();
    	
        GEL_TextOut("OnPreFileLoaded()\n");
    }

    Best regards,

    Daniel

  • Daniel - I see that you are in another related thread:

    https://e2e.ti.com/support/tools/ccs/f/81/p/914376/3440594#3440594

    That thread appears to be resolved. Is this issue still open?

  • It is still open, only the data verification issue in the related thread is solved.

  • Can you provide the GEL code for the "reset_videoports();" function?

  • reset_videoports()
    {
        *(unsigned int*)0x01c480c0  = 1 << 0x0F;    //vp2
        *(unsigned int*)0x01c440c0  = 1 << 0x0F;    //vp1
        *(unsigned int*)0x01c400c0  = 1 << 0x0F;    //vp0
        *(unsigned int*)0x01c48104  = 1 << 0x1F;    //vp2-vca
        *(unsigned int*)0x01c48144  = 1 << 0x1F;    //vp2-vcb
        *(unsigned int*)0x01c44104  = 1 << 0x1F;    //vp1-vca
        *(unsigned int*)0x01c44144  = 1 << 0x1F;    //vp1-vcb
        *(unsigned int*)0x01c40104  = 1 << 0x1F;    //vp0-vca
        *(unsigned int*)0x01c40144  = 1 << 0x1F;    //vp0-vcb  
        // cpld default config:
        //CAPEN_REG_ADDR
        //*(short*)0xA01C008a  = 6 ;
    
        GEL_TextOut("Reset VideoPorts.\n");
    }

  • I'm assuming that if you remove the "reset_videoports()" call from OnPreFileLoaded, the error does not occur?

  • I found out that in the OnPreFileLoaded function, additionally I have to disable the watchdog, now everything works as expected.