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.

Trying to run the Gel Debug Script with no luck

Other Parts Discussed in Thread: OMAP-L137

At this point I don't think I have a problem with the HW but a configuration mistake on my side. I'm trying to debug in another thread why I can't boot from UART2 on an omap-l137 and after reading a few other threads its seems that it is a good idea to run the Gel Debug script. I'm running in CCS6 but I'm not able to get what I'm expecting. 

This is what I do:
1-)create a dummy project to the ARM or the DSP, the basic main template. That allows me to open a debug session. =

2-) once in the debug session I load the new Gel file and the go to the scripts->run all and I get the following output

ARM9_0: GEL Output:
---------------------------------------------
ARM9_0: GEL Output: | Device Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: DEV_INFO_00 = 0x9B7DF02F
ARM9_0: GEL Output: DEV_INFO_01 = 0x00000000
ARM9_0: GEL Output: DEV_INFO_02 = 0x0000F3F2
ARM9_0: GEL Output: DEV_INFO_03 = 0x00000022
ARM9_0: GEL Output: DEV_INFO_04 = 0x00000000
ARM9_0: GEL Output: DEV_INFO_05 = 0x000003E0
ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080
ARM9_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 8-0-153998-25-20-35
ARM9_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 0,0,0,5726
ARM9_0: GEL Output: -----
ARM9_0: GEL Output: DEV_INFO_17 = 0x00030003
ARM9_0: GEL Output: DEV_INFO_18 = 0x00000000
ARM9_0: GEL Output: DEV_INFO_19 =ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output:
ARM9_0: GEL Output: -----
ARM9_0: GEL Output: DEV_INFO_20 = 0x30303864
ARM9_0: GEL Output: DEV_INFO_21 = 0x3330306B
ARM9_0: GEL Output: DEV_INFO_22 = 0x30303864
ARM9_0: GEL Output: DEV_INFO_23 = 0x3330306B
ARM9_0: GEL Output: -----
ARM9_0: GEL Output: DEV_INFO_24 = 0x19023014
ARM9_0: GEL Output: DEV_INFO_25 = 0x0802598E
ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080
ARM9_0: GEL Output: DEV_INFO_26 = 0x2CBC0000
ARM9_0: GEL Output:

ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | BOOTROM Info |
ARM9_0: GEL Output: ---------------------------------------------
Run_All() cannot be evaluated.
condition does not evaluate to a value
at rom_id=(arm_dsp ? *((unsigned int *) 0xFFFD000c) : *((unsigned int *) 0x1170000c)) [OMAPL1x_debug.gel:88]
at Print_ROM_Info() [OMAPL1x_debug.gel:65]
at Run_All()

I think what I'm doing wrong is how I'm connecting to the target. The wiki instructs to:

processors.wiki.ti.com/.../OMAP-L1x_Debug_Gel_Files

  • Connect to the processor, can be ARM or DSP of any OMAP-L1x, AM1x, or TMS320C674x device.
  • Tools -> Gel Files
  • Right-click on the window and select "Load Gel"
  • Go to Scripts -> Diagnostics -> Run All

how do I connect to the processor? any suggestions?

  • Hi,

    Which board are you using ?

    OMAPL137 SDI EVM or Custom board ?

    I have tried debug gel file on OMAPL137 SDI (spectrum digital inc) EVM board and didn't get any problem.

    Set boot mode to "No boot" (emulation) mode while connecting OMAPL137 device in CCS.

        SW2

    7  2  1  0  3

    1  1  1   1  0

    I got the following gel file o/p

    Scripts -> Diagnostics -> Run All

    C674X_0: GEL Output:

    ---------------------------------------------

    C674X_0: GEL Output: |             Device Information            |

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: DEV_INFO_00 = 0x9B7DF02F

    C674X_0: GEL Output: DEV_INFO_01 = 0x00000000

    C674X_0: GEL Output: DEV_INFO_02 = 0x0000F3F7

    C674X_0: GEL Output: DEV_INFO_03 = 0x00000023

    C674X_0: GEL Output: DEV_INFO_04 = 0x00000087

    C674X_0: GEL Output: DEV_INFO_05 = 0x000003E0

    C674X_0: GEL Output: DEV_INFO_06 = 0x00000080

    C674X_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 8-0-154468-2-34-23

    C674X_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 1,0,0,8296

    C674X_0: GEL Output: -----

    C674X_0: GEL Output: DEV_INFO_17 = 0x00030003

    C674X_0: GEL Output: DEV_INFO_18 = 0x00000000

    C674X_0: GEL Output: DEV_INFO_19 =C674X_0: GEL Output: 0C674X_0: GEL Output: 0C674X_0: GEL Output: 0C674X_0: GEL Output: 0C674X_0: GEL Output: 0C674X_0: GEL Output:

    C674X_0: GEL Output: -----

    C674X_0: GEL Output: DEV_INFO_20 = 0x30303864

    C674X_0: GEL Output: DEV_INFO_21 = 0x3530306B

    C674X_0: GEL Output: DEV_INFO_22 = 0x00000000

    C674X_0: GEL Output: DEV_INFO_23 = 0x00000000

    C674X_0: GEL Output: -----

    C674X_0: GEL Output: DEV_INFO_24 = 0x02017022

    C674X_0: GEL Output: DEV_INFO_25 = 0x08025B64

    C674X_0: GEL Output: DEV_INFO_06 = 0x00000080

    C674X_0: GEL Output: DEV_INFO_26 = 0x40D00001

    C674X_0: GEL Output:

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: |               BOOTROM Info                |

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: ROM ID: d800k005

    C674X_0: GEL Output: Silicon Revision 2.1

    C674X_0: GEL Output: Boot pins: 62455

    C674X_0: GEL Output: Boot Mode: Emulation Debug (0x0000F3F7)

    C674X_0: GEL Output:

    ROM Status Code: 0x00000000

    Description:C674X_0: GEL Output: No error

    C674X_0: GEL Output:

    Program Counter (PC) = 0x00713098

    C674X_0: GEL Output:

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: |              Clock Information             |

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output:

    C674X_0: GEL Output: PLLs configured to utilize crystal.

    C674X_0: GEL Output: ASYNC3 = PLL0_SYSCLK2

    C674X_0: GEL Output:

    C674X_0: GEL Output: NOTE:  All clock frequencies in following PLL sections are based

    C674X_0: GEL Output: off OSCIN = 24 MHz.  If that value does not match your hardware

    C674X_0: GEL Output: you should change the #define in the top of the gel file, save it,

    C674X_0: GEL Output: and then reload.

    C674X_0: GEL Output:

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: |              PLL0 Information             |

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output:

    C674X_0: GEL Output: PLL0_SYSCLK1 = 24 MHz

    C674X_0: GEL Output: PLL0_SYSCLK2 = 12 MHz

    C674X_0: GEL Output: PLL0_SYSCLK3 = 8 MHz

    C674X_0: GEL Output: PLL0_SYSCLK4 = 6 MHz

    C674X_0: GEL Output: PLL0_SYSCLK5 = 8 MHz

    C674X_0: GEL Output: PLL0_SYSCLK6 = 24 MHz

    C674X_0: GEL Output: PLL0_SYSCLK7 = 4 MHz

    C674X_0: GEL Output:

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: |              PSC0 Information             |

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output:

    C674X_0: GEL Output: State Decoder:

    C674X_0: GEL Output:  0 = SwRstDisable (reset asserted, clock off)

    C674X_0: GEL Output:  1 = SyncReset (reset assered, clock on)

    C674X_0: GEL Output:  2 = Disable (reset de-asserted, clock off)

    C674X_0: GEL Output:  3 = Enable (reset de-asserted, clock on)

    C674X_0: GEL Output: >3 = Transition in progress

    C674X_0: GEL Output:

    C674X_0: GEL Output: Module 0: EDMA3CC (0)        STATE = 0

    C674X_0: GEL Output: Module 1: EDMA3 TC0          STATE = 0

    C674X_0: GEL Output: Module 2: EDMA3 TC1          STATE = 0

    C674X_0: GEL Output: Module 3: EMIFA (BR7)        STATE = 0

    C674X_0: GEL Output: Module 4: SPI 0              STATE = 0

    C674X_0: GEL Output: Module 5: MMC/SD 0           STATE = 0

    C674X_0: GEL Output: Module 6: AINTC              STATE = 3

    C674X_0: GEL Output: Module 7: ARM RAM/ROM        STATE = 3

    C674X_0: GEL Output: Module 9: UART 0             STATE = 0

    C674X_0: GEL Output: Module 10: SCR 0 (BR0/1/2/8)  STATE = 3

    C674X_0: GEL Output: Module 11: SCR 1 (BR4)        STATE = 3

    C674X_0: GEL Output: Module 12: SCR 2 (BR3/5/6)    STATE = 3

    C674X_0: GEL Output: Module 13: PRUSS              STATE = 0

    C674X_0: GEL Output: Module 14: ARM                STATE = 3

    C674X_0: GEL Output: Module 15: DSP                STATE = 3

    C674X_0: GEL Output:

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output: |              PSC1 Information             |

    C674X_0: GEL Output: ---------------------------------------------

    C674X_0: GEL Output:

    C674X_0: GEL Output: State Decoder:

    C674X_0: GEL Output:  0 = SwRstDisable (reset asserted, clock off)

    C674X_0: GEL Output:  1 = SyncReset (reset assered, clock on)

    C674X_0: GEL Output:  2 = Disable (reset de-asserted, clock off)

    C674X_0: GEL Output:  3 = Enable (reset de-asserted, clock on)

    C674X_0: GEL Output: >3 = Transition in progress

    C674X_0: GEL Output:

    C674X_0: GEL Output: Module 1: USB0 (2.0)         STATE = 0

    C674X_0: GEL Output: Module 2: USB1 (1.1)         STATE = 0

    C674X_0: GEL Output: Module 3: GPIO               STATE = 0

    C674X_0: GEL Output: Module 4: UHPI               STATE = 0

    C674X_0: GEL Output: Module 5: EMAC               STATE = 0

    C674X_0: GEL Output: Module 6: EMIFB (BR20)       STATE = 0

    C674X_0: GEL Output: Module 7: MCASP0 + FIFO      STATE = 0

    C674X_0: GEL Output: Module 8: MCASP1 + FIFO      STATE = 0

    C674X_0: GEL Output: Module 9: MCASP2 + FIFO      STATE = 0

    C674X_0: GEL Output: Module 10: SPI 1              STATE = 0

    C674X_0: GEL Output: Module 11: I2C 1              STATE = 0

    C674X_0: GEL Output: Module 12: UART 1             STATE = 0

    C674X_0: GEL Output: Module 13: UART 2             STATE = 0

    C674X_0: GEL Output: Module 16: LCDC               STATE = 0

    C674X_0: GEL Output: Module 17: eHRPWM (all)       STATE = 0

    C674X_0: GEL Output: Module 20: eCAP (all)         STATE = 0

    C674X_0: GEL Output: Module 21: eQEP 0/1           STATE = 0

    C674X_0: GEL Output: Module 24: SCR8 (Br15)        STATE = 3

    C674X_0: GEL Output: Module 25: SCR7 (Br12)        STATE = 3

    C674X_0: GEL Output: Module 26: SCR12 (Br18)       STATE = 3

    C674X_0: GEL Output: Module 31: L3 RAM (Br13)      STATE = 3

       Connect to the processor, can be ARM or DSP of any OMAP-L1x, AM1x, or TMS320C674x device.

       Tools -> Gel Files

       Right-click on the window and select "Load Gel"

       Go to Scripts -> Diagnostics -> Run All

    how do I connect to the processor? any suggestions?

    You can also create "Target Configuration" and select your appropriate device and debugger then provide the debug gel file to the DSP core since its DSP master boot device.

  • Thanks a lot for the very informative links. I glance at all of them to make sure I'm not overlooking something simple. After reviewing your steps and what I'm doing, I'm following the correct steps. There seems to be 2 ways to load the debug gel, launch and existing project into the debugger and then load the debug gel or load the target configuration directly.

    I prefer the second just to be safe that the target is not already running or in a state passed where I can run the debug gel script.

    To do that in CCS6, I create a target configuration per your instructions. Yes, I have the EVM from SDI. Since the EVM is already listed I don't need to modify anything but point the DSP to the debug Gel. This debug gel is the one listed in the linked with _v9. processors.wiki.ti.com/.../OMAP-L1x_Debug_Gel_Files.

    I then right click the ccxml and select launch selected configuration. Then right click the DSP and I select connect to target at which point I automatically get:

    No source available for "0x71307a"

    which I think makes sense since I'm connecting directly.

    then I go to Scripts->Diagnostics->Run All. Sadly I get the same result.
    ......
    C674X_0: GEL Output: ---------------------------------------------
    C674X_0: GEL Output: | BOOTROM Info |
    C674X_0: GEL Output: ---------------------------------------------
    Run_All() cannot be evaluated.
    condition does not evaluate to a value
    at rom_id=(arm_dsp ? *((unsigned int *) 0xFFFD000c) : *((unsigned int *) 0x1170000c)) [OMAPL1x_debug.gel:88]
    at Print_ROM_Info() [OMAPL1x_debug.gel:65]
    at Run_All()
    .......

    to make sure it is not this particular board I tested the script on a brand new EVM and I get the same result.

    I did a diff of your output and mine and at least for the part that works we do have some differences, not sure if they are expected:

    I get: (mine -> yours)

    C674X_0: GEL Output: DEV_INFO_03 = 0x00000022 ->
    C674X_0: GEL Output: DEV_INFO_03 = 0x00000023

    C674X_0: GEL Output: DEV_INFO_04 = 0x00000000 ->
    C674X_0: GEL Output: DEV_INFO_04 = 0x00000087

    C674X_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 8-0-153998-25-17-46 ->
    C674X_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 8-0-154468-2-34-23

    C674X_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 0,0,0,17->
    C674X_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 1,0,0,8296

    C674X_0: GEL Output: DEV_INFO_21 = 0x3330306B->
    C674X_0: GEL Output: DEV_INFO_21 = 0x3530306B

    C674X_0: GEL Output: DEV_INFO_24 = 0x1902E011->
    C674X_0: GEL Output: DEV_INFO_24 = 0x02017022

    C674X_0: GEL Output: DEV_INFO_25 = 0x0802598E->
    C674X_0: GEL Output: DEV_INFO_25 = 0x08025B64

    C674X_0: GEL Output: DEV_INFO_26 = 0x00220000->
    C674X_0: GEL Output: DEV_INFO_26 = 0x40D00001

    Could you share your gel file?
  • Hi,
    The above screen shot is from CCSv5.5
    I'm able to reproduce this issue with CCSv6.

    I think that unary operator "?" support might be disabled or removed in CCSv6.

    I have modified the code like below in debug gel file and able to run now.
    Please try the same and let me know.

    Ex:

    // arm_dsp = ((ARM_ROM_ID & 0xFF) == 0x6B) ? 1 : 0;

    if((ARM_ROM_ID & 0xFF) == 0x6B)
    arm_dsp = 1;
    else
    arm_dsp = 0;

    // rom_id = (arm_dsp) ? ARM_ROM_ID : DSP_ROM_ID;

    if(arm_dsp)
    rom_id = ARM_ROM_ID;
    else
    rom_id = DSP_ROM_ID;


    //Titus
    // BLCfgStruct = arm_dsp ? ARM_BLCfgStruct : DSP_BLCfgStruct;

    if(arm_dsp)
    BLCfgStruct = ARM_BLCfgStruct;
    else
    BLCfgStruct = DSP_BLCfgStruct;

    }
    else {
    // BLCfgStruct = arm_dsp ? ARM_BLCfgStruct : DSP_BLCfgStruct;

    if(arm_dsp)
    BLCfgStruct = ARM_BLCfgStruct;
    else
    BLCfgStruct = DSP_BLCfgStruct;
    }

    //    arm_dsp = ((ARM_ROM_ID & 0xFF) == 0x6B) ? 1 : 0;
        if((ARM_ROM_ID & 0xFF) == 0x6B)
            arm_dsp = 1;
        else
            arm_dsp = 0;
           

    Also you can find the modified gel file for CCSv6.

    http://processors.wiki.ti.com/index.php/OMAP-L1x_Debug_Gel_Files

    processors.wiki.ti.com/images/9/9a/OMAPL1x_debug_v9_CCSv6.zip

  • Hi Titus,

    I  made the necessary changes to the debug gel file. I will suggest updating the wiki. I was able to run the debug gel from both the DSP and the ARM and was able to get a lot of useful information from it. Is kind of cool it give you a full detail of the state of all the PSCx. Attached is the filed I modified since there were about 4 more parts that needed to be fixed for CCS6. Case close, again thanks for the great support.

    OMAPL1x_debug-01.gel

  • Hi Hoffiz,


    I made the necessary changes to the debug gel file. I will suggest updating the wiki.

    Yes, thanks for your findings, we have asked CCS team to fix this problem, it will be fixed in next release of CCS IDE.

    Just I have shown as example and requested to do the same for all "?" unary operator existence in gel file.

    Thanks for your update.
  • Hi,
    We have filed IR and this is the reference SDOCM no: SDSCM00052197
    This issue will be fixed in later release of CCS.
    Thanks Hoffiz.