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.

How to get Linux to release the DSP from reset on Beagle

Other Parts Discussed in Thread: OMAP3530

Hi,
I am using the EVM board OMAP3530 with  Code composer studio v.4.1 cause I want to run few applications in the DSP core. So after developing my source code (after creating new project, lauching target configuration...) when I try  to load the program (with the button Debug Activate Project)  in the board (in the DSP) via the XDS100 emulator, I get this error message:

Error connecting to the target:
Error 0x80000244/-1178
Fatal Error during: Register, Initialization, OCS,
The target does not have a CPU clock.

Can you tell me please why it doesn't work? what can I do to fix it?
Thank you in advance.

  • there is a topic on using XDS100 with Beagle.  However the thing that is likely causing you trouble is that you need to setup your ARM code to bring the DSP out of reset.

     

    http://tiexpressdsp.com/index.php/Debugging_Beagle_with_an_XDS100

     

     

  • I am going to move this post into the Linux forum as the people there may be able to provide more info on how to get the DSP released from Linux.

     

    John

  • Jean,

    I am afraid you will not be able to connect to the OMAP3 DSP using a XDS100 emulator (only a XDS100v2). This is because the Cortex A8 is the master processor of OMAP3 and holds the DSP in reset, therefore requiring to connect to the Cortex A8 and run a GEL script that releases the DSP. XDS100 does not support ARM targets.

    Because of this, even if you get another emulator and still wants to debug your DSP code in the OMAP3 DSP using CCSv4.1, you will not be able to launch the debugger directly. 

    So, to fix this you must first launch the debugger independently, connect to the Cortex A8 and then release the DSP:

    - Create the target configuration and set it as the Default Target Configuration. Depending on the EVM version you may have to change the default GEL file associated with each core (Cortex A8 or C64plus) - check figure 11 at this page to see where it is configured. I send attached the scripts I used.

    - Launch the Debugger: menu Target --> Launch TI Debugger

    - Connect to the Cortex A8 core (check the picture below to see which one is the correct). It will take a while before the script finishes running.

    - Go to menu Scripts --> OMAP35xx Functions --> C64xPlusRelease_FromReset

    - After the message C64x+ release from reset appears, connect to the DSP core and load your .out file by going to menu Target --> Load Program

    Unfortunately this is an intrinsic feature of OMAP3 devices (and some other SoC devices as well).

    Hope this helps,

    Rafael

    omap35xx_3430.zip
  • Hi desouza,

    Thank you for your answer .

    I perform the steps you suggested me in your message but I get some problem. When I go to the menu scripts after lauching the TI'S debugger, I don't see appear OMAP35xx Fonctions. I just have in the menu scripts: OMAP35xx_Resets. So due to this i do not arrive to connect the DSP and to load the program. I get the same error: The target doesn't have a CPU Clock.

    Is it a problem of my code composer studio version? I am using CCS 4.1 with the free licence. If not, what can be the problem?

    Thank you!

  • Jean,

    The exact name of the menus I mentioned are present in the GEL files I sent - feel free to test them in your setup. Since they are designed for the board I have (Mistral EVM) they may not work in your setup.

    If you are using the default OMAP3530 GEL files, you should have a menu item IVA2200_Setup --> IVA22_GEM_Startup. IVA2200 is another name for the C64x core.

    I will move this post back to Code Composer Forum since this is not referred to Linux.

    Hope this helps,

    Rafael