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.

RTOS/DRA72XEVM: DSP code debugging issue with ccs

Part Number: DRA72XEVM

Tool/software: TI-RTOS

Hi ,

i am trying to debug running dsp the EVM code through ccs.

I  am using glsdk-6.10 sdk and CCS5

I am debugging through Run --> Load -->load symbols.

The DSP firmware is compiled with full debug option enabled.

when i trying to load the symbols i am getting error like "no source found "ti_sysbios_family_c64p_hwi_int0"

and after that its not hitting the break point also.

Let me know how to proceed further.

i have followed the below link also.

processors.wiki.ti.com/.../Debug_Handbook_for_CCS

Regards,

Biswajit

  • Hi, ,

    i will ping an expert to answer here.

    Meanwhile, see if the following link can hlep:

    Regards,

    Mariya

  • Biswajit,

    Can you also send a snap shot of what you are seeing in the CCS window?

    Thanks and Regards,
    Piyali
  •  Hi Piyali,

    Please find the attached screenshot of the log message.

    Regards,

    Biswajit

  • Biswajit,

    Thanks for sharing the screenshot!
    This message common if you have not pointed to the source of the code. Typically there is a "Locate File" Button which shows up below/above "View disassembly". Can you try hovering around the "View Disassembly" button and check if the "Locate File" shows up. Once the locate file shows you can then choose the path to the file and then proceed debugging...

    Thanks and Regards,
    Piyali
  • Hi Piyali,

    On clicking the "View Disassembly"   button doing single step for several times it showed the locate File option but even after locating the same file it didn't move further.

    Can you please suggest where and which path i am supposed to include for xdctool and sysbios.

    I have added those packages in windows->preference->products and compiled the same.

    I have not added any path wrt xdctool & sysbios  in  properties->Build->C6000 compiler->Include options and properties->Build->C6000 Linker File Search Path.

    Please suggest the probable reason for not getting symbols .

    Regards,

    Biswajit

  • Biswajit,

    When you look at the locate file option, there is also a path of the file present. Are you able to see the source after you set the path after you click on "Locate File"? Regarding symbols, is your executable built for release build. When you are building in release mode, some symbols may not be visible.

    Thanks and Regards,
    Piyali
  •   Hi Piyali,

    I have built the DSP1 image in Debug mode only.

    Its looking for boot.c in /db/ztree/library/trees/xdctargets/xdctargets-g41x/src/ti/targets/rts6000/boot.c.

    But /db/ztree folder itself is not available in my system and  i have not configured also.I dont have idea from where its fetching the path.

    I have attached the screen shot of the same.

    So i have provided packages/ti/targets/rts6000 folder path when it asked to locate file.

    Then when i continued the assembly single step into then it got stuck with the error:

    "Can't find a source file at "/tmp/TI_MKLIBr78rCW/SRC/copy_decompress_rle.c"
    Locate the file or edit the source lookup path to include its location."

    But neither copy_decompress_rle.c nor /tmp/TI_MKLIBr78rCW folder available in my system.

    I have attached the screen shot of the same.

    Now i am not having any clue from where its searching these path.

    Please let me know if have any solution for the same.

    Regards,

    Biswajit

  • Biswajit,

    The path shown in the CCS is what it picks up from the pre-built library. BTW, looks like the boot.c file is from BIOS package: bios_XX_XX_XX_XX\packages\ti\targets\rts6000\boot.c

    Can you please put the following snippet
    volatile uint32_t loopVar = 1;
    while( loopVar) {;}

    in a known location in your code (preferably in main) ? Let the DSP come there, get stuck and then change loopVar to 0 and then single step through your code to debug further.

    Thanks and Regards,
    Piyali
  • Hi Piyali,

    I have done that but still its not hitting the main function itself.
    While doing single step i figured out while executing Hwi_getStackInfo Function its executing "return stackOverflow" statement in the function.

    Let me know what could be the root cause for that stackoverflow returning.
    Below are function execution Flow while doing the single step.

    _auto_init_elf
    Startup_exec
    HeapMem_init
    HeapMem_restore
    IntXbar_initIntXbar
    IntXbar_initXbarRegs
    ti_sysbios_hal_Hwi_HwiProxy_getStackInfo__E
    Hwi_getStackInfo



    Regards,
    Biswajit
  • Biswajit

    Looks like you are able to start debugging on CCS for the DSP code. For the exact root cause of the failure, I will reach out to the SDK support team.
    BTW, is this the default build or you have made some modifications?

    Thanks and Regards,
    Piyali
  • Hi Piyali,

    Apart from memory configuration,I am using the GLSDK-6.10 as it is.

    For memory configuration,

    I have added a folder called DRA7XX_custom_64MB inside ti-glsdk_dra7xx-evm_6_10_00_02/component-sources/ipc_3_23_00_01/packages/ti/platform then i rebuild the ipc once again with make ipc_dsp.Accordingly i have added the same in rsc_table_vayu_dsp.h File.

    I have attached the same also.

    Before connecting the debugger,I have looked at the state of /sys/kernel/debug/remoteproc/remoteproc0/state

    It shows running(2).

    Currently in the code i have commented everything apart from dummy code:

    main()

    {

    Error_init(&strErrBlk);

    struct Task_Params strTaskParamsMain;

    Task_Params_init(&strTaskParamsMain);

    strTaskParamsMain.stackSize = (1024*1024*2);

    strTaskParamsMain.priority  =10;

    strTaskHdl=Task_create((Task_FuncPtr)RCP_MAIN, &strTaskParamsMain, &strErrBlk);

    if(strTaskHdl==NULL)

    {

    BIOS_exit(0);

    }

    else{

    BIOS_start(); 

    }

    VOID RCP_MAIN( )
    {

    volatile uint32_t loopVar = 1;
        while( loopVar) {;}

    }

    DRA7XX_custom_64MB.tar.gz

  • Hi Biswajit,

    1) You mention that you changed some memory configuration, can you please let us know if you see this issue with the base DSP image that ships with the GLSDK 6.10.00.02?

    2) GLSDK 6.10.00.02 is a very old release, is there any reason why you are still using this GLSDK version. Ideally to debug this issue we would recommend customers to be on the latest of the SDKs that is available at processors.wiki.ti.com/.../Category:Processor_SDK_Linux_Automotive, which is Processor SDK Linux Automotive 3.04.

    Regards
    Karthik
  • Hi Biswajit,

    I hope that you have been able to resolve the issue with the newer version of the SDK.
    Incase you are still facing the problem, you may reply back to this thread with the information requested above.

    Regards
    Karthik