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.

SK-AM62: Code Composer Studio failed to connect to XDS 110 probe.

Part Number: SK-AM62

Hello,

I installed Code Composer Studio 11.2.0.0007 on Ubuntu 18.04, and create an hello world project for AM62x_SK_EVM target.

The target is connected on micro-usb for serial, usb-c for the power supply (3A/5V), and micro-usb for XDS110.

Code Composer Studio is launch via root user to avoid permission issue on usb device.

I tested connection in the project setting and it worked fine, all tests were successful.

But when the debug session for HelloWorld application is started the connection with the target failed :

CortexA53_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x0000000043000000
     at read_pid=*((unsigned int*) (WKUP_CTRL_MMR0_CFG0_BASE+0x00000000U)) [am62x_ddr_top.gel:66]
     at DDR_Init() [AM62x_SK_EVM.gel:60]
     at OnTargetConnect()
CortexA53_0: File Loader: Verification failed: Values at address 0x0000000000000021 do not match Please verify target memory and memory map.
CortexA53_0: GEL: File: /build/sitara/application/HelloWorld/Debug/HelloWorld.out: a data verification error occurred, file load failed.

Could you help me to solve the issue ?

Regards,

Alexis.

  • Hello Nick,
    The issue is not fixed, I can see core after launching the configuration.
    I didn't explain but I want to debug application on Linux RT using the debugger, I'm not using the cortex M4.
    Anyway the application load failed on M4 or A53 core.
    Is there a documentation or a training about linux debugging using XDS110 USB Debug probe.
    I follow the instruction from the links you gave, I installed CCS on a new linux PC ubuntu 20.04 and run it as root.
    Could you tell me what linux group must be added to the user's groups to be able to communicate with the probe when the app is launched with user permission. I had "dialout" for serial USB terminal, but is not enough for USB debug probe.
    I test the connection with the probe using the "Verify" button in the New CSS  project windows.
    There is no issue at this point, I had the log trace at the bottom of the message.
    But when the debug session is started there is a popup message "Load program Error" telling HelloWorld.out: a data verification error occurred, file load failed.
    It seems that the memory mapping is incorrect ?
    The console trace log is:
    CortexA53_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x0000000043000000
         at read_pid=*((unsigned int*) (WKUP_CTRL_MMR0_CFG0_BASE+0x00000000U)) [am62x_ddr_top.gel:66]
         at DDR_Init() [AM62x_SK_EVM.gel:60]
         at OnTargetConnect()
    CortexA53_0: File Loader: Verification failed: Values at address 0x0000000000000021 do not match Please verify target memory and memory map.
    CortexA53_0: GEL: File: /home/alognon/workspace_v11/HelloWorld/Debug/HelloWorld.out: a data verification error occurred, file load failed.
    Regards,
    Alexis.
    Verify connection Log:
    ==================
    [Start]
    Execute the command:
    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity
    [Result]
    -----[Print the board config pathname(s)]------------------------------------
    /root/.ti/ccs1120/0/0/BrdDat/testBoard.dat
    -----[Print the reset-command software log-file]-----------------------------
    This utility has selected a 100/110/510 class product.
    This utility will load the adapter 'libjioxds110.so'.
    The library build date was 'Mar 17 2022'.
    The library build time was '15:40:16'.
    The library package version is '9.7.0.00213'.
    The library component version is '35.35.0.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '5' (0x00000005).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller.
    This utility has successfully reset the controller.
    -----[Print the reset-command hardware log-file]-----------------------------
    The scan-path will be reset by toggling the JTAG TRST signal.
    The controller is the XDS110 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for XDS110 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).
    -----[Perform the Integrity scan-test on the JTAG IR]------------------------
    This test will use blocks of 64 32-bit words.
    This test will be applied just once.
    Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0
    Do a test using 0x00000000.
    Scan tests: 2, skipped: 0, failed: 0
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0
    All of the values were scanned correctly.
    The JTAG IR Integrity scan-test has succeeded.
    -----[Perform the Integrity scan-test on the JTAG DR]------------------------
    This test will use blocks of 64 32-bit words.
    This test will be applied just once.
    Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0
    Do a test using 0x00000000.
    Scan tests: 2, skipped: 0, failed: 0
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0
    All of the values were scanned correctly.
    The JTAG DR Integrity scan-test has succeeded.
    [End]
  • Hello Alexis,

    Ahh, ok I assumed you wanted to use CCS to debug a remote core while Linux was running. The process to debug a Linux application from CCS will look different.

    In terms of required software, settings, etc, I would assume that the MCU+ SDK Getting Started steps will cover everything you need to know:
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/08_03_00_07/exports/docs/api_guide_am62x/GETTING_STARTED.html

    (I'm going to continue pointing to MCU+ SDK resources for now even though you aren't trying to debug an MCU+ core, just because our Linux SDK docs do not discuss CCS).

    What part of Linux are you trying to debug here? A userspace application? Something else?

    Regards,

    Nick

  • Hello Nick,

    Sorry for the delay I didn't received the notification for this answer.

    Yes I want to debug linux userspace application on A53 core with the XDS probe.

    I successfully debug the helloworld example on the MCU only on windows10, it failed on ubuntu.

    But I still can't debug linux app on CCS.

    Regards,

    Alexis.

  • Hello Alexis,

    Unfortunately our group has not written any recent documentation on using CCS with Linux userspace applications, and I am not going to have the bandwidth to run tests in the near term.

    What I can do is come back tomorrow and send you links to older documentation around using CCS with Linux. Hopefully some of those documents are helpful. Please ping the thread if I have not responded within another day, I don't want to lose your request!

    Regards,

    Nick

  • Hi Nick,

    Ping, as per your request. Thank you!


    Best regards,
    François.

  • Hello Nick, Could you post the link, as possible, I will test again jtag soon. Regards

  • edited Aug 7 2023, April 17 2025

    Apologies for the delayed response. This information is an update of
    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/815773/ccs-codecomposer-pru-debug-under-linux/3035794#3035794 . Note that this information is many years old at this point, so some details may have changed.

    Linux/CCS debug documentation:

    1) Reference the attached HTML file of the old Processors Wiki page Linux Debug in CCSv5 : Linux Debug in CCSv5_files.zip

    It complements this Youtube video Linux debugging (very long)

    AM335x note: in addition to the above video, please make the changes discussed in e2e thread CortxA8: Error connecting to the target: (Error -1204 @ 0x3D5B) Unable to access the DAP

    2) The Linux Board Porting Training Series might have some useful Linux/CCS debug information.

    General Debugging for Embedded Linux: 

    See our Debugging Embedded Linux Systems Training Series. It includes general information on how to debug Linux, including how to use printk.

    Debugging Linux SPL / uboot in CCS

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_00_00_03/exports/docs/linux/Foundational_Components/U-Boot/Applications.html 

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1247051/sk-am62-debugging-spl-in-ccs 

    Regards,

    Nick

  • Dear  Nick,

    I watch the video to make the JTAG works with CCS, it seems the initialization script is not working.

    By removing the script from the configuration the CPU A53_0 is stopped when the debug session in launched.

    I hace an error in css :

    CortexA53_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x0000000043000000
         at read_pid=*((unsigned int*) (WKUP_CTRL_MMR0_CFG0_BASE+0x00000000U)) [am62x_ddr_top.gel:66]
         at DDR_Init() [AM62x_SK_EVM.gel:60]
         at OnTargetConnect()

    I don't know if it is a problem ?

    Moreover I use the SDK 3.00.19 with the vmlinux prebuilt binairies, I use it as program in the configuration and load symbol only.

    But it seems no symbols a include in the vmlinux file from the vmlinux.gz archive.

    The CCS show : Break at address "0xffffbe642860" with no debug information available, or outside of program code.

    Could you tell me if what is the linux kernel image including the debug symbols.

    Regards,

    Alexis.

  • Hi Alexis,

    TI has since released CCS v12.0 at https://www.ti.com/tool/CCSTUDIO  Can you please give this a try to see if you see the same issues? Since AM62x is a very new product I'd generally recommend to use the bleeding edge of tools available from TI as usually there are many improvements in that "early" cycle of a new device.

    Regards, Andreas

  • Hi Andreas,

    I try CCS v12.0, I have the same error, on connection :

    CortexA53_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x0000000043000000
         at read_pid=*((unsigned int*) (0x43000000U+0x00000000U)) [AM64_DDRSS_Config.gel:92]
         at DDR_Init() [AM64x_SK_EVM.gel:53]
         at OnTargetConnect()

    The issue is the same that in CCS v11.0, but the debug session is not the same with CCS v12, the CoreA53_0 is not connected when the session is launched, so I need to connect the core manually.

    I don't use anymore sdk prebuilt binaries for the kernel I, build my own yocto image with kernel debug info, so the kernel debug works with the kernel source.

    Moreover the core is disconnected when a HW/SW reset is done from the CCS menu.

    How to make the CPU connection persistant ?

    I also would like to load the kernel vmlinux file with the JTAG directly in memory, it is not explained it the tutorial ?

    Could you explain to me the method, is order to do so ?

    Regards,

    Alexis.

  • Hi Alexis,

    thanks for running this test also with CCSv12.

    I also would like to load the kernel vmlinux file with the JTAG directly in memory, it is not explained it the tutorial ?

    I've not tried using CCS in a way you are using to try to debug the Kernel but usually you don't want the debugger interfere with the Kernel in any way such as by attempting to do peripheral setup (like DDR) on the side, amongst other things. I've had good experiences in the past using CCS to attach to a running Kernel and doing full symbolic debug, with the Kernel being loaded and started the usual way (from boot media, via U-Boot, etc.).

    If you want to debug an userspace application you could also use vanilla gdb.

    Our CCS expert will be back in the office next week, so please allow some additional time if you still have questions/issues around the GEL file use and core attach topics.

    Regards, Andreas