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.

Unable to Connect to ARM side of OMAP using CCSv4

Other Parts Discussed in Thread: OMAPL138

I am currently using CCSv4's Platinum Trial Version. I used to be able to connect to the OMAPL138 on both the ARM side and the DSP side. Now when I try to connect to the ARM side I get the following error:

"The GEL callback "OnTargetConnect()" for the target "Spectrum Digital XDS510USB Emulator_0/ARM9_0" is still processing.
The function could contain an infinite loop.

Do you wish to pause the processing of this function and continue?"

Connecting to the DSP side gives me no errors. I've seen other posts on the forum but none seem to answer my question. I've tried to restart the board and my PC but none of this seemed to recover the ARM side. When I put print statements into the GEL file it appears to be getting hung up on the very first peripheral power on. 

I have also tried to use a different SOM on a different evaluation board but that did not resolve the issue. This could possibly mean that it may be a CCS4 specific issue. How can I connect to the ARM side of the DSP again using CCS4?

GEL output:

"

ARM9_0: Output: Memory Map Cleared.

ARM9_0: Output: ---------------------------------------------

ARM9_0: Output: Memory Map Setup Complete.

ARM9_0: Output: ---------------------------------------------

ARM9_0: Output: Enabling Full EVM PSCs...

ARM9_0: The GEL callback "OnTargetConnect()" is no longer running atomically

"

  • Hi Thomas

    What emulator are you using? If you are using XDS100v1, it does not support connecting to ARM. If you have XDS100v2, then you might need to make sure you are looking at some wiki articles that talk about some connectivity issues and patches to fix those.

    You will find some relevant details on the following wiki link

    http://processors.wiki.ti.com/index.php/XDS100

    http://processors.wiki.ti.com/index.php/Xds100#Installation_for_Code_Composer_Studio_v3.3_.28XDS100v1_Hardware_Only.29

    Regards

    Mukul

  • The emulator is XDS510USB which is actually indicated in the error message. Murphy's Law, I was able to determine a work-around. Once I added DEVICE_kickUnlock() to OnTargetConnect before the call to enable peripherals, I was able to get around the issue. I am going to guess that the chip got itselt into non-supervisory mode and then the GEL file would attempt to turn on the peripheral and wait for it to be turned on but the new settings would never take effect which would cause it to wait forever.

  • Thomas Price said:
    The emulator is XDS510USB which is actually indicated in the error message.

    Yup, sorry I missed that.

    Thomas Price said:
    Once I added DEVICE_kickUnlock() to OnTargetConnect before the call to enable peripherals, I was able to get around the issue. I am going to guess that the chip got itselt into non-supervisory mode and then the GEL file would attempt to turn on the peripheral and wait for it to be turned on but the new settings would never take effect which would cause it to wait forever.

    Not sure how this resolved the issue. Specifically if you were really just getting stuck in going through the PSC initialization of modules, most modules except mDDR/DDR2 initialization code (in the gel file) do not touch any SYSCFG module registers. SYSCFG module registers are the only one that would get impacted by the kicker register unlock and/or ARM priv mode (Supervisor vs User).Since you are able to connect to the DSP on OMAPL138, I am assuming you are using the emulator boot mode , correct?

    Regards

    Mukul

  • That is correct, I am using emulator boot mode. My answer was predicated on the fact that I can see the output "Enabling Full ECM PCSs..." but then it ends up in an infinite loop. As a test I also added GEL_TextOut after the line "PSC0_LPSC_enable(0, LPSC_EDMA_CC0);" but that output never showed up either. Then when I added the line to unlock the kick register before calling PSC_ALL_On_Full_EVM it started to work again.