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.

CCS5 hangs target when module debugging



I am using CCS5.1  version: 5.1.1.00033

I am using a xds100 to debug the Linux kernel running on the DM816x evaluation module.  I have the Linux symbols loaded at startup.  On the target I load a device driver module and load the symbols into the debugger. The debugger breaks at breakpoints in the module fine.  However after two or three runs the debugger will break but will not resume.  The target appears to be hung and I have to repower it to bring it back to life.

This error message appears:

CortexA8: Breakpoint Manager: One or more breakpoints will not relocate to new symbolic locations until the target halts.
CortexA8: Breakpoint Manager: Retrying with a AET breakpoint
CortexA8: Trouble Setting Breakpoint with the Action "Remain Halted" at 0xbf000374: (Error -1065 @ 0xBF000374) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.623.0)
CortexA8: Trouble Reading Memory Block at 0xc0053888 on Page 0 of Length 0xb: (Error -1205 @ 0xC0053888) Device memory bus has an error and may be hung. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.623.0)
CortexA8: Trouble Reading Memory Block at 0xc0053888 on Page 0 of Length 0x35: (Error -1044 @ 0xFFFFEC70) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.623.0)
CS_DAP_DebugSS: Error: (Error -5008 @ 0xFFFFEC70) Unable to access the DAP. 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 5.0.623.0)
CortexA8: Can't Run Target CPU: (Error -1044 @ 0xFFFFEC70) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.623.0)
CortexA8: Error: (Error -1044 @ 0xFFFFEC70) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.623.0)

Do I need to reduce the JTAG speed and if so how do I do it?

  • Graham,

    The XDS100 is already running at a very low frequency.  You can make it lower by opening up your ccxml file and the clicking on the Advanced tab down at the bottom.  You would then see a tree on the right that shows the details of what is in your configuration.  If you click on the XDS100 at the top you can then set the advanced properties for it on the right.  I doubt that lowering it will help in this case.  It is probably only running at 1MHz.  The driver software is shared with some of our other emulators which can run at much higher frequencies so that is why that statement is present in the error message.

    Monday is a holiday in the US so it will be Tues before I can have someone with more expertise to take a look at this.

    Do you have access to an XDS510 or 560 class emulator?  Just thinking that we could try a different one to determine if the emulator is involved in the issue.  I don't think that is the case here though.

    Regards,

    John

    Regards,

    John

  • John

    I do not have a XDS510 or XDS560 emulator.  As you say the frequency is 1MHz.  Like you I do not think this is the issue.  It seems to be related to setting breakpoints in the module memory area.  If I avoid setting breakpoints in the loadable module and set breakpoints in the kernel instead it works fine stepping out of the kernel and into the module code.    I have increased the clock rate to 10MHz with no change in behaviour.  However when I set a breakpoint in the module memory area I get problems.  It's almost as if the debugger no longer has access to the module memory area.

    Regards

    Graham

  • It appears to be because there isn't a gel file specifying the memory map of the TMS320DM816x.  I have written my own and it seems fine now.

    I find it hard to believe that this file doesn't exist. Surely the TI engineers need this file for their development.

  • In CCSv5.2.0 we have done out best to gather up GEL files for the various EVMs and include them in CCS.  We also provide device files for each device and may of the popular development boards so that you can select the device/board you are using and it will automatically include the appropriate GEL file.

    In CCSv5.2.0 the GEL files for DM816x are in \ccsv5\ccs_base\emulation\boards\dm816x_evm\gel

    I will dig them up and attach them to this thread as well.

  • 3225.dm816x_evm.zip

    Attached are the GEL files from my 5.2.0 install.  The DM8168 EVM file looks to be using the evm816x.gel file for the A8.

    John

  • Thanks for that that's really useful -- for some reason they are not present in my 5.2 install.  

    Is there an updated ccsV52/ccsv5/ccs_base/common/targetdb/devices/ti816x.xml which includes the peripheral registers?

    Thanks

    Graham

  • I don't know why but this was working and now isn't.

    I now have the memory map loaded.  However when I load a module CCS5 can't read the memory the module is loaded into and hence can't set a breakpoint.

    If I try and set a breakpoint I get 

    CortexA8: Breakpoint Manager: One or more breakpoints will not relocate to new symbolic locations until the target halts.
    CortexA8: Breakpoint Manager: Retrying with a AET breakpoint
    CortexA8: Trouble Setting Breakpoint with the Action "Remain Halted" at 0xbf00c780: (Error -1065 @ 0xBF00C780) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.623.0)
    CortexA8: Trouble Reading Register CP15_MMU_XLATION_TABLE_BASE_1: (Error -2131 @ 0x20023F20) Unable to access device register. 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 5.0.623.0)

    And then I have to repower my dev board!