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.

OMAPL138 LCDK c674x problem - Device held in reset

Other Parts Discussed in Thread: OMAP-L137, OMAPL138, OMAP-L138, TMDSLCDK138

Hi,

I'm trying to run an IPC IO example on a OMAP L138 LCDK using CCSv5.2.1.00018, on the DSP core (C674x), but when I try to debug, I have the following error message : "C674X_0: Error connecting to the target: (Error -1180 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.0.747.0)"

The same example works fine on the ARM core.

IPC version is 1.24.3.32, and the RTSC platform I selected is ti.platforms.evmOMAPL138 (can't find any LCDKOMAPL138 - not quite sure the problem is there as the same platform works fine for the ARM core); I use the Spectrum Digital XDS100v2 USB emulator.

I went through the forum but couldn't find relevant topics, any help would be appreciated

thks

Philippe

 

  • Not sure if this applies to your situation. On my OMAP-L137 EVM, I have to stop the booting processor from holding the other processor in reset. On the OMAP-L137 EVM, I had to start a CCS session with the DSP processor first, then a second CCS session on the ARM processor to run ARM code. In your case, where the ARM boots first, I think you need to start a CCS session with the ARM first. Then a DSP session. The ARM session does not have to run any code. It just has to stop the ARM.

  • Thank you Norman, indeed I managed to get a C674x example running after debugging an ARM example.

    Cheers

    Philippe

  • Is there a work-around to avoid having to first load an ARM example, then load the DSP example? (GEL file?)
  • Dear Todd,
    Its expected behavior.
    I hope you aware about the difference between OMAPL138 and OMAPL137 devices.

    OMAPL138 is ARM master core i.e ARM core wakes up first (RBL code) and user should wakeup the DSP.

    OMAPL137 is DSP master core i.e DSP core wakes up first (RBL code) and user should wakeup the ARM.

    That's why we are not able to connect the DSP directly, so you should run gel file first on ARM core then gel file initialize all the peripheral and wakes up the DSP core, you can also see the "DSP Wake Complete" message on CCS console then you can connect the DSP core and load the progrma & run.

    C:\ti\ccsv5\ccs_base\emulation\boards\lcdkomapl138\gel\OMAP-L138_LCDK.gel

    OnTargetConnect( )
    {
    GEL_TextOut("\tTarget Connected.\n","Output",1,1,1);
    GEL_TextOut("\t---------------------------------------------\n","Output",1,1,1);
    Clear_Memory_Map();
    Setup_Memory_Map();

    PSC_All_On();
    Core_300MHz_mDDR_150MHz();

    Wake_DSP(); //Titus : Here DSP wakesup by gel file which is running on ARM core.
    }

    What board are you using ?

    If you have emulation boot mode then you can connect any core at any time since RBL code latches the boot mode pins and if its emulation boot mode then wakesup the both ARM & DSP cores.

    PS: In LCDK board, emulation boot mode is not available.
  • Titus:Code Composer 6.1.1TMDSLCDK138XDS100v2
    Thanks for your reply. Do you know how to set up Code Composer Studio to allow me to load programs into both ARM and DSP, then execute
    code in the ARM, and transition to the DSP? And be able to see this in CCS 6?
    I know about the website "Multicore Debug with CCS," but it is not very obvious how to view both ARM and DSP processors at the same time with CCS6...
  • oops: Code Composer 6.1.1 TMDSLCDK138 XDS100v2
  • Dear Todd,
    If you want to debug the ARM and DSP at the same time, you have to create a new target configuration for OMAPL138 LCDK.

    1) Create a new target configuration for the OMAPL138 LCDK board with XDS100v2 emulator.
    2) Connect ARM core
    3) Connect DSP core
    4) Load the arm app on ARM core
    5) Load the dsp app on DSP core
    6) Run the arm and dsp app by selecting the core.

    Then go to window -> new window.
  • Titus:Thanks for your reply.
    I went to View->Target Configurations and created a new target configuration named "Both."
    I made sure that the Connection was Texas Instruments XDS100v2 USB Debug Probe.
    Under Board or Device, I selected LCDKOMAPL138.
    I am not sure where to go from there, or if I have already done something wrong. Do I do something under Advanced Setup for this?
  • Dear Todd,

    Your steps were almost right.
    After create the target configuration, select that configuration (right click of that) and click "Launch Selected Configuration" option then you can see two cores i.e ARM and DSP with PRUs.

    Now, you can select the ARM core and do "Connect target", then gel file will be called and initialize all the peripherals with DSP wake, then load the ARM app on ARM core, now you can select DSP core and load the DSP app on DSP core.