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.

Linux + CCS5.1 + XDS100v2 + Beagleboard xM (DM3730)

Other Parts Discussed in Thread: DM3730

Hi

Did anybody try this configuration? Does it work?

I've bought this emulator and trying to get it to work in CCS5.1. I've read the wiki topics about xds100, but most of the info is about Windows environment.

I've experienced problems connecting CCS 5.1 to this emulator. I usually get this two types of errors:

----

Error connecting to the target:

(Error -1146 @ 0x0)

Device ID is not recognized or is not supported by driver.

----

and 

----

Error connecting to the target:

(Error -1178 @ 0x6D)

Device functional clock appears to be off. Power-cycle the board. If error persists, confirm configuration and/or try more reliable JTAG settings (e.g. lower TCLK).

----

I don't even know if the JTAG xds100v2 (by Olimex) was properly recognized by Ubuntu. I haven't installed any drivers as it was said that CCS should have all that is needed. All the info I got from dmesg is as follows:

----

[446851.632967] usb 1-1: new high speed USB device using ehci_hcd and address 4

[446851.782285] usb 1-1: configuration #1 chosen from 1 choice

----
How to check the connection to JTAG emulator? Or properly configure it in CCS?
Thanks in advance.

 

  • Hello,

    What exact emulator are you using?Is it an XDS100v1 or v2?

    Also which core are you trying to connect to when you get the error? The Cortex A8?

    And can you provide a snapshot of what your target configuration looks like (ccxml file)? Did you create it yourself or did you get it from somewhere?

    What is the full version number of your CCSv5.1 install?

    Thanks

    ki

  • Hi Ki,

     

    Thanks for fast reply. I use Olimex xds100v2 emulator. Eventualy I've found .ccxml file you posted in the other thread and it seems to work well.

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/104831.aspx

    Now I can connect to the Cortex_A8 core. After about 90 seconds after I hit "Connect" it's going into suspended mode, so I assume everything should be fine. The problem I've encountered now is I tried several gel files I've founded in the following thread:

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/126439.aspx

    But I receive Memory Block Errors and so on. I suppose its memory maps are not well suited to my DM3730 on Beagleboard xM. All I want to do is debug DSPLink applications so I suppose this GEL file should be very simple, just to enable c64x+ from its reset state, but I don't know where to start. How to write it on my own as there's a problem finding working file on the net. I'll appreciate any help, however I don't expect anybody to write it for me, just to point me where I could find good tutorial how to write it on my own using DM3730 Technical Reference Manual or similar document. 

    Thanks.

  • Hi,

    Quick detail: if you are trying to debug a target running any High-level OS (Linux, WinCE, Android, etc.) you should refrain from using a GEL file while connecting. The GEL file performs device and peripheral initializations that will disrupt your environment. It seems that you can connect to the Cortex A8, but is this with or without a GEL?

    For the DSP/Link application debug, the initialization functions PROC_setup(), PROC_attach() and PROC_start() already release the DSP from reset, thus CCS can connect to it without the need for a GEL file. Check this reference and this reference.

    Therefore, if you are using CCSv5 you can do a mixed-mode Linux debugging (see this page). In a nutshell, you simply launch the debugger for a Stop Mode debug (but leave the CortexA8 running free). Then you load and run your Linux application using GDB/GDBserver (Run Mode debug), put a breakpoint just after PROC_start() (in the ARM side) and then connect to the DSP using the JTAG emulator.

    Hope this helps,

    Rafael

     

  • Rafael,

     

    You're absolutely right. I've just done what was said about this mixed-mode debugging and there weren't any GEL files needed at all. I've just put an infinite loop just at the begining of main() on the DSP side and after running GPP side I just connected the debuger to DSP core and loaded proper symbols. So far so good. Let me ask you a question about JTAG emulation performance. XDS100v2 is my first JTAG emulator and I have no expirience using other emulators. This was cheap emulator and I didn't want to risk more money on something I wasn't sure would work in my environment. However I find this emulator very slow, it takes about 90 secs from "connect" to start debugging. Is it normal for this type of emulator? Should I expect much more performance from XDS560? It won't be a problem to buy used one on ebay for the fraction of the price of the new one. Is it worth to invest in PCI version or spend much more money on USB version? Is the speed difference like 1/35 (comparing just MHz of XDS100 and XDS560)?

     

    Thanks for your help.

    Konrad

  • Konrad,

    Thanks for reporting back the results; I forgot about the loop in the DSP side app.

    The XDS100 is in fact slower than its more featured counterparts. I don't necessarily performed benchmarks myself, but the difference is visible in speed, especially if many views are open (check this useful FAQ entry).

    Regarding the purchasing decision of an emulator, keep in mind a few factors:

    • There are several options for XDS510 and XDS560-class emulators, including some sold at eBay. With such investment, I strongly recommend paying attention to the manufacturer specs and long term support. Check this post that has some details.
    • The XDS560 has the v2 variant (supported in CCSv4.2 and newer) that aggregates a lot more features (like Ethernet connectivity, USB-power, adaptive clocking, etc.) at roughly half the cost of a first-generation XDS560 and on pair with several XDS510 emulators.
    • The use of an emulator also requires the purchase of a CCS license. They are on sale at the TI e-store (CCSv4 licenses purchased today will be automatically upgraded to CCSv5.1).

    Hope this helps,

    Rafael

  • Rafael,

     

    I've already done the steps recommended in the FAQ you've mentioned. I think one cannot expect much performace from device for a hundred bucks, however it's a good starting point. The problem about other emulators is that one needs to purchase an additional CCS license and there's a free license for XDS100 family devices. As far as it is hobby project with Beagleboard, XDS100, Linux and other "open solutions" I'm glad that everything works together as I can convince other students and hobbyists to use this environment together with free version of CCS5.1 as a good entry level solution to become an DSP experts in the future :)

    Thanks a lot.

    Konrad