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.

Not able to load program on DSP of Beagleboard.

Other Parts Discussed in Thread: OMAP3530, OMAP-L138

Hi All.

 

I am using a CCS4 and XDS510 USB+ to connect to a Beagleboard.

At first, I was not able to connect to ARM side of the Beagleboard. But after I went through http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/t/29982.aspx?PageIndex=1 and removed the .gel files. I was then able to connect to the ARM. However, I was still receiving error message for DSP side. And then I went through  http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP_using_CCS and changed the examples as mentioned. I was then able to connect to DSP side. Then when I try to load my program from menu->Target->load program,  I have been getting the following message. I am not able to load my code which is different than the example code used to remove the DSP from reset mode and connect the CCS to it.  I need a help on this ASAP.

Thanks,

Pramod

 

Trouble Writing Memory Block at 0x82805a80 on Page 0 of Length 0x104:

Error 0x00000006/-1060

Error during: Memory, Register, 

An unknown error prevented the emulator from accessing the processor

in a timely fashion.

It is recommended to RESET EMULATOR.  This will disconnect each 

target from the emulator.  The targets should then be power cycled

or hard reset followed by an emureset and reconnect to each target.

 

  • I thought of mentioning few more this too.

    When I disconnect and try to reconnect I am not able to. I get the following error message

     

    Error connecting to the target:

    Error 0x80001260/-1060

    Fatal Error during: Execution, Initialization, OCS, Target, 

    An unknown error prevented the emulator from accessing the processor

    in a timely fashion.

    It is recommended to RESET EMULATOR.  This will disconnect each 

    target from the emulator.  The targets should then be power cycled

    or hard reset followed by an emureset and reconnect to each target.

    Thanks,

    Pramod

  • Hi Pramod,

    What gel files are you using (if any)? I use the ones in: <INSTALL DIR>\ccsv4\emulation\boards\omap35xx_3430\gel for ARM and DSP with good success. I am able to load code at that address and connect/disconnect work well.

    ki

  • Hi Ki,

    I first used ' \emulation\gel\omap3430_c64plus.gel' and '\emulation\gel\omap3430_cortexA.gel' but was not able to connect to the board. I also tried setting configuration for Mistral, that didnot work too. Later I removed all the .gel files. Let me describe the procedure I followed and my setup environment.

     I am using CCS  Version: 4.0.1.01001 and XDS510 USB PLUS. I have selected connection as 'Spectrum Digital XDS510USB Emulator' and Device as 'OMAP3530_XDS510USB'.
    After going through http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/t/29982.aspx?PageIndex=1, I removed all the .gel files and then started "Debug Active Project" . It  is still giving me error as
    OMAP3530_XDS510USB_0/6400PLUS_0
    Error connecting to the target:
    Error 0x80000244/-1178
    Fatal Error during: Register, Initialization, OCS, 
    The target does not have a CPU clock. 
    As the DSP by default is in reset mode, I ignored this error and started the debug session. 
    Now, I can connect to the ARM side and can easily 'Stop' and 'Run' execution on ARM side. 
    To connect to the DSP side I went through http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP_using_CCS and change the example code as mentioned. The changes, to my knowledge is removing the DSP from the reset mode.
    With out executing the chaged program, if I try to connect to the DSP I am getting following error.
    Error connecting to the target:
    Error 0x80000244/-1178
    Fatal Error during: Register, Initialization, OCS, 
    The target does not have a CPU clock. 
    And if I execute the changed program and then try to connect I am getting following errors.
    Trouble Setting Breakpoint with the Action "Remain Halted" at 0x82802334:
    Error 0x0000000A/-1202
    Error during: Memory, Break Point, 
    CPU pipeline is stalled and the CPU is 'not ready'. This means
    that the CPU has performed an access which has not
    completed, and the CPU is waiting. The target may need to be
    reset. The user can choose 'Yes' to force the CPU to be 'ready'.
    When this is done, the user will have the ability to examine
    the target memory and registers to determine the cause of the
    CPU stall. If CPU hang is caused by application and it has been
    forced to be 'ready', the CPU should not be run without a reset.
      Yes - force CPU ready (might corrupt the code)
      Disconnect - disconnect CCS so that it can be reset
      Retry - attempt the command again
    Again, if I execute lpmOFF followed by lpmON. Its connected. But as soon as I press the 'Run' and then 'Halt" CCS4 gives me following error message.
    Trouble Halting Target CPU:
    Error 0x00001024/-1137
    Error during: Register, Execution, Target, 
    It appears that the target is being held in reset.  This may be
    due to Wait-In-Reset (WIR) configuration set by the EMU0=0
    and EMU1=1 pin settings.  If this is the case, DISCONNECT
    all CONNECTED devices including icepick and then select
    RETRY to clear the WIR configuration.
    If this is a multi-core system, the master CPU may not be
    releasing the DSP/MCU from reset.  Please check your
    configuration in CC_setup and/or your GEL file to ensure that
    nothing is blocking the DSP/MCU from being released from reset
    If I try to load program, I get following error message
    Trouble Writing Memory Block at 0x82805a80 on Page 0 of Length 0x104:
    Error 0x00000006/-1060
    Error during: Memory, Register, 
    An unknown error prevented the emulator from accessing the processor
    in a timely fashion.
    It is recommended to RESET EMULATOR.  This will disconnect each 
    target from the emulator.  The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.

  • Pramod Poudel said:
     I am using CCS  Version: 4.0.1.01001 and XDS510 USB PLUS. I have selected connection as 'Spectrum Digital XDS510USB Emulator' and Device as 'OMAP3530_XDS510USB'.

    4.0.1 is a fairly old version. The selection for  your Device I do not see in my version. Could you upgrade to the latest version (4.1.2)? You can get to it using the Update manager (Help->Software Updates). That way at least  we are both on the same version of CCS as I try to debug your issue.

    After that, recreate your configuration. Use 'OMAP3530' for the device and try using the gel files I mentioned previously.

     

  • Hi Ki,

    Thanks for the prompt reply. I updated my CCS to  Version: 4.1.2.00027 . I selected the gel file as you mentioned from <ccs4 install dir>/emulation/board/gel and selected sdomap35xx_C64plus.gel for DSP. I did not have any other option for .gel file for DSP. And then selected Beagle_Omap35xx_CortexA8.gel for ARM. I did have other options but this looked better choice as I am working on Beagleboard. I had selected OMAP3530 as device instead of OMAP3530_XDS510USB. When I click on Debug Active Project, I get following error

    Exception occurred during lunch. 

    Reason:

    Failed to load program 'cvDFT.out' on any of the targets.

    Reason: The target OMAP3530_XDS510USB_0/6400PLUS_0 could not be found.

     

  • Hi Ki,

    Even I put the DSP out of reset as said in http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP_using_CCS, I am not able to connect and the debug session does not start.

  • Pramod Poudel said:
    I selected the gel file as you mentioned from <ccs4 install dir>/emulation/board/gel and selected sdomap35xx_C64plus.gel for DSP. I did not have any other option for .gel file for DSP. And then selected Beagle_Omap35xx_CortexA8.gel for ARM. I did have other options but this looked better choice as I am working on Beagleboard

    Those are the files I used also.

    Pramod Poudel said:

    I had selected OMAP3530 as device instead of OMAP3530_XDS510USB. When I click on Debug Active Project, I get following error

    Exception occurred during lunch. 

    Reason:

    Failed to load program 'cvDFT.out' on any of the targets.

    Reason: The target OMAP3530_XDS510USB_0/6400PLUS_0 could not be found.

    Could you delete your existing ccxml file and create a new one from scratch? Also try deleting the existing Debug launches for the project. See slide 57 of: http://processors.wiki.ti.com/images/0/09/CCSv4_Tips_%26_Tricks.pdf

    FYI - since you are using a multi-core device, Debug Active Project will try to connect, load and run to the first CPU in the scan chain - I think the DSP here (which is what you want). But you may want to look at the CCSv4 multi-core wiki for future reference: http://processors.wiki.ti.com/index.php/Multi-Core_Debug_with_CCS

    Thanks

    ki

     

  • Hi Ki,

     

     I deleted the existing ccxml file and created a new file. I also deleted all the Debug lunches for all the projects. My configuration were still same as mentioned above. When I tried to Debug Active Project. I go following errror message.

    Error connecting to the target:

    Error 0x80000244/-1178

    Fatal Error during: Register, Initialization, OCS, 

    The target does not have a CPU clock. 

    I then, though of removing the DSP out of reset as mentioned on the link I provided on my previous post. When I tried to connect after executing lpmOFF and lpmON( I executed this since I had already  ran some application on DSP), I got following error.
    Trouble Writing Memory Block at 0x82805a80 on Page 0 of Length 0x104:
    Error 0x00000022/-1060
    Error during: Memory, Execution, 
    An unknown error prevented the emulator from accessing the processor
    in a timely fashion.
    It is recommended to RESET EMULATOR.  This will disconnect each 
    target from the emulator.  The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.
    When I tried to ignore it and force lunch the debugger, I got following error
    Trouble Reading Register CSR:
    Error 0x00000004/-1060
    Error during: Register, 
    An unknown error prevented the emulator from accessing the processor
    in a timely fashion.
    It is recommended to RESET EMULATOR.  This will disconnect each 
    target from the emulator.  The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.
    I got following error on the console when I tried to connect to the ARM but I could control the execution of ARM. But I am still not able to connect to the DSP.
    Cortex_A8_0: GEL: Error while executing OnResetDetected(): target access failed.

  • ,

    Pramod Poudel said:

     I deleted the existing ccxml file and created a new file. I also deleted all the Debug lunches for all the projects. My configuration were still same as mentioned above. When I tried to Debug Active Project. I go following errror message.

    Error connecting to the target:

    Error 0x80000244/-1178

    Fatal Error during: Register, Initialization, OCS, 

    The target does not have a CPU clock. 

    I then, though of removing the DSP out of reset as mentioned on the link I provided on my previous post.

    Yes I got the same error until I released the DSP out of reset. After I did so, I was able to connect.

    Pramod Poudel said:
    When I tried to connect after executing lpmOFF and lpmON( I executed this since I had already  ran some application on DSP), I got following error.

    So if I understand correctly, you were able to connect to the DSP and execute some applications? And then you disconnected and tried reconnecting and get the error?

  • Ki-Soo Lee said:
    So if I understand correctly, you were able to connect to the DSP and execute some applications? And then you disconnected and tried reconnecting and get the error?

    Actually, I think you mean that the ARM loaded some code to the DSP and ran it. Then you are trying to connect to the DSP for debugging and hit the error?

  • Hi Ki,

    >So if I understand correctly, you were able to connect to the DSP and execute some applications? And then you disconnected and tried reconnecting and get the error?

    No, I did this from my console on my host system, which is connected to the beagleboard.

  • Hi Ki,

    I restarted everyting and first kept the DSP out of reset and then I was able to connect to the DSP, but when I tried to load my program, it gives following error.

    Trouble Writing Memory Block at 0x82805a80 on Page 0 of Length 0x104:

    Error 0x00000006/-1060

    Error during: Memory, Register, 

    An unknown error prevented the emulator from accessing the processor

    in a timely fashion.

    It is recommended to RESET EMULATOR.  This will disconnect each 

    target from the emulator.  The targets should then be power cycled

    or hard reset followed by an emureset and reconnect to each target.

     

  • Pramod,

    Could you provide your exact use case? Basically provide step-by-step instructions on what exactly you are doing (any provide any executables and other sw needed). I've just been playing around with basic connectivity to the DSP and loading some simple files. But I need to copy what you are doing to see if I can reproduce this.

    Thanks

    ki

  • Hi Ki,

    I am basically trying to expand the FFT example provided in the DSPLib. I have cut-short that example and planning to expand as needed. When I simulate it using 64x+ cycle accurate simulator, its fine. Then I tried to emulate it; there is where I have a problem.

    Please find the attached project file.

     

    I am still getting the error when I try to load program.

     

    Trouble Writing Memory Block at 0x8000fa60 on Page 0 of Length 0x104:

    Error 0x00000006/-1060

    Error during: Memory, Register, 

    An unknown error prevented the emulator from accessing the processor

    in a timely fashion.

    It is recommended to RESET EMULATOR.  This will disconnect each 

    target from the emulator.  The targets should then be power cycled

    or hard reset followed by an emureset and reconnect to each target.

     

    Another error follows 

     

    Trouble Reading Memory Block at 0x87e1d254 on Page 0 of Length 0x2c1:

    Error 0x00000002/-1060

    Error during: Memory, 

    An unknown error prevented the emulator from accessing the processor

    in a timely fashion.

    It is recommended to RESET EMULATOR.  This will disconnect each 

    target from the emulator.  The targets should then be power cycled

    or hard reset followed by an emureset and reconnect to each target.

    The status of  the stack is as follows. 
    Thread [main] (In Reset)
    0 <symbol is not available> 0x87e1d294

     

    cvDFT.zip
  • Pramod,

    Thanks for attaching the project. I was able to load it just fine. I must have something different in my environment. All I did was connect to the ARM, execute 'Scripts->OMAP35xx Functions->C64xPlusRelease_FromReset', connect to the DSP and then load the out file. Perhaps it is something that you have flashed on to your board that is causing the issue (sorry I don't have a whole lot of knowledge on the Beagle Board). Otherwise I am using the same CCS version, same emulator, same target config, same gel files and same target board.

     

  • Hi Ki,

    Thanks for your response and effort. I had never tried to release the dsp from reset using the scripts. I was using DSPLink to do so. 

    But still, I tried this way too. Still no result. When I try to connect to the CortexA8 I get the following error. Does this error message has to do anything with my problem? However I am able to control the execution on it. So, I think I have no problem with it. 

    Cortex_A8_0: Warning: Error 0x40000002/-1065 Warning during: Memory,  Invalid memory access at 0x00000000  

    Cortex_A8_0: GEL: Error while executing OnTargetConnect(): target access failed.

     

    When I run cortexA and then execute the Script ->OMAP35xx Functions-> C64xPlusRelease_FromReset, there is nothing (no message on the console. When I halt the execution of CortexA8 and try to run the Scripts...................., i get following error message and nothing on the console.( I generally get something turned on/off message when I try other functions.)

    Error connecting to the target:

    Error 0x80000260/-1178

    Fatal Error during: Execution, Initialization, OCS, 

    The target does not have a CPU clock. 

     

    Is something wrong with my .gel file? Is it possible that I can try with one of yours. If it is, then my e-mail is

    ktmpole@hotmail.com

    Once again, I would like to thank you for your response even on holiday.

     

    Regards,

    Pramod 

  • Hi Ki,

    Finally solved the problem. I am able to load any code now and step through. Thanks for your time and effort.

    Let me describe my problem and the solution to it.

    Problem: After I lunched the debugger, I was able to connect to the Cortex8 of the beagleboard but not with the DSP. And later not able to load my program.

    Used gel files: sdomap35xx_c64plus.gel for DSP

                              Beagle_Omap35xx_CortexA8.gel

    Solution: Whenever I tried to connect to the DSP of beagleboard, it gave error message containing "...no cpu clock...". I knew it that the DSP is in the reset mode and it should be released from the reset mode. But the gel script to reset did not work for me. I could see 'Scripts->OMAP35xx Functions->C64xPlusRelease_FromReset'. when ever I executed this, there was no result and any message on the console. I modified dsplink example as in http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP-L138_using_CCS, started the beagleboard, loaded the necessary modules to run the DSPLink example. Started CCS4, started the debug session. In the beagle boarad, i executed the sample example which release the DSP from reset and and keeps it in a infinite loop. On the code composer studio, I the clicked 'Connect Target'. The CCS4 was then connected to the DSP. But still I was not able to load my program.

    The solution to this was simply to wait. If I try to play with the DSP and load my program before the example code finish its execution ( which took more than 2 minutes as the DSP was in infinite loop and gpp side exit with failed status), then I could not do anything after that. After the example is finished executing. I could then load any program and step through.

    Also, it is worth mentioning. I don't know why after I terminate the debug session, my beagleboard is dead and I have to hard reset it to give back life.

     

    Thanks,

    Pramod