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.

XDS GDB agent (server) : which controllers / board supported?

Expert 2025 points
Other Parts Discussed in Thread: AWR1642, SEGGER

Which controllers, cores are supported with this GDB server utility? 

I tried this with the AWR1642, and with no luck, always complains about the board config file that I got from the CCS following the howto get the board data file.

I've tried from CCS10 and from standalone package, 

https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds_software_package_download.html

So the Windows version always tells me:

"No CPUs that support GDB are defined in configuration file"

and the Linux version crashes with this message:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
Aborted (core dumped)

The dat file attached .. just in case it's suppose to work.

What I would like to know is, if this works, can I open instance of CCS  and to 'remote' debugging of AWR1xx project ?  

  • There is more information on the agent here:

    https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds_gdb_agent.html

    In general this tool is no longer supported.  Historically it was primarily used for MSP430 and Cortex M class microcontrollers.  I do not know of anyone using this for AWR mmWave devices.

    Regards,

    John

  • Thanks @JohnS,

    Was also wondering if there is any service helper app if may allow to do 'remote' debugging with an XDS110 probe? Like the one onboard with the devkits.

    Something which can connect to it and expose an ip port for remote connection?

  • One option would to have an ethernet based debug probe.  There are XDS560v2 and XDS200 (220 from Spectrum Digital) that provide an ethernet interface so that the board can be remote.  

    Another option might be to use something like DSS test server.  It is an application built on top of our debug server scripting framework.  That be heavier than what you are looking for as it requires a remote machine.

    https://software-dl.ti.com/ccs/esd/documents/dss_test-server.html

    Regards,

    John

  • That's very interesting, the DSS sever.

    Immediate question I have : can I then use a CCS's  XDS2xx Eth connection option ( don't see any other but this and xds560 eth I think)  to connect to this sever which will be affectively connected to XDS110 on-board of the devkits?

  • These are the ethernet options I am aware of:

    Spectrum Digital XDS220. Might be hard to find one of these as spectrum is no longer selling products.

    Both Spectrum and Blackhawk have 560v2 versions with Ethernet.  We currently stock the Spectrum one but will be switching to blackhawk when inventory runs out.

    https://www.ti.com/tool/TMDSEMU560V2STM-UE

    https://www.blackhawk-dsp.com/products/jtag-emulators/xds560v2

    When using the XDS220 or 560v2 it would be connected to the JTAG header on the development board and the onboard XDS110 would not be used.  I believe the evm we have has the 60pin MIPI header so with the 220 you would need an adapter.  The 560v2 natively supports that connector.

    I am going to loop in the author of the DSS Server to see if he has any other comments.

    John

  • v01d said:
    Immediate question I have : can I then use a CCS's  XDS2xx Eth connection option ( don't see any other but this and xds560 eth I think)  to connect to this sever which will be affectively connected to XDS110 on-board of the devkits?

    If I understand your question, you wish to connect to the test server via a remote client consisting of CCS and an ethernet debug probe. Is this correct? If so, this is not supported. The DSS test server is currently designed to accept incoming commands from a remote client via a TCP/IP socket. The command needs to be in a specific JSON format that is typically sent via a client script from the command line.

    Attached is a supporting document on how the DSS Test Server works. This should help explain the implementation:

    /cfs-file/__key/communityserver-discussions-components-files/81/dss_5F00_test_5F00_server_5F00_wp.pdf

    Thanks

    ki

  • Hi @Ki 

    > ..If I understand your question, you wish to connect to the test server via a remote client consisting of CCS and an ethernet debug probe. Is

    The probe would be attached with the server.

    I want to be able to do remote debugging, from CCS. Same as you can do with Segger JLink.

  • Hi @JohnS    

    I indeed found a supplier which has in stock some XDS220 with the Ethernet option. And it seems they also stock the 60-pin adapter too.  Can I clarify this with you.

    Do XDS220 support DSP cores as found on AWR16x / 18x ? The Tech Ref says it's  C674x DSP, and from supplier's datasheet (not TI's or Spectrum's) I do not see them listings this DSP family under supported.  If so then it would probably stop right here.

    On the other hand they (supplier) were not sure that if, the devkit/board from TI comes with onboard XDS110, that it will be disabled when you plug into the HD 60 connector  - and I think that is what you answered above, this happens without any specific jumper changes as far as I understood you.

    Now feature wise. Can XDS220 then debug both cores simultaneously at least as good as X110, and does it work well with remote debugging through CCS XDS2xxx Ethernet option?  So one scenario is I want to basically run CCS say from my desk to the lab,  or even from one virtual machine to the host _without_ forwarding USB (i.e. still over ethernet).

    About tracing: I do see that XDS560v2 is a much more powerful probe, and you can have trace capability. If I understand this correctly : all XDS will have ETB support , but  only XDS560 family will have Cortex's  ETM support (something I saw TI refers to also as Core pin trace).

    Could you clarify what I can / not trace with XDS220 vs 560?   Also I'm not clear if the DSP core supports this : can you do any un-intrusive performance profiling on the DSP side, alike you would be able to do with the Cortex? (where you could log cycles and for e.g. see where most of you code spends time, see how many/long interrupts take, etc ... )

    Thanks in advance.

  • XDS2xx class probes support C674x DSPs.  We have more information on the device support on our site.  The device support software is common across XDS2xx.  

    https://www.ti.com/tool/TMDSEMU200-U

    On the other hand they (supplier) were not sure that if, the devkit/board from TI comes with onboard XDS110, that it will be disabled when you plug into the HD 60 connector  - and I think that is what you answered above, this happens without any specific jumper changes as far as I understood you.

    I am not sure how this works for that board.  The manual for the board would state if it is automatic or if you have to change a jumper.  I know with some boards that have that large header it is automatic.

    Now feature wise. Can XDS220 then debug both cores simultaneously at least as good as X110, and does it work well with remote debugging through CCS XDS2xxx Ethernet option?  So one scenario is I want to basically run CCS say from my desk to the lab,  or even from one virtual machine to the host _without_ forwarding USB (i.e. still over ethernet).

    XDS110, 2xx and 560v2 all support multi-core debugging with the same feature set.  Going over ethernet you are going to have lag.  I have used them within our offce and it was fine for me.  In general 560 is faster than 200 which is faster than 110. However that can actual vary depending on the device being used.  http://software-dl.ti.com/ccs/esd/documents/application_notes/appnote-debug_probe_performance_results.html

    About tracing: I do see that XDS560v2 is a much more powerful probe, and you can have trace capability. If I understand this correctly : all XDS will have ETB support , but  only XDS560 family will have Cortex's  ETM support (something I saw TI refers to also as Core pin trace).

    All XDS probes support ETB as it is just reading a buffer out of the device.   Most XDS560v2 probe support what is called System Trace.  I don't believe that is supported on these AWR devices.  For ETM trace over pins you would actually need the XDS560v2 PRO TRACE.  That is a much more expensive receiver.

    Could you clarify what I can / not trace with XDS220 vs 560?   Also I'm not clear if the DSP core supports this : can you do any un-intrusive performance profiling on the DSP side, alike you would be able to do with the Cortex? (where you could log cycles and for e.g. see where most of you code spends time, see how many/long interrupts take, etc ... )

    XD220 and 560v2 you are limited to just ETB for core trace.  Neither support streaming Core trace over pins.  

    However before we go too far here I want to follow up with the product line to see what trace features are present on the device.  I think the Cortex R on this device only supports trace to pins.  I am not sure if there is an ETB that the DSP trace is connected to.

    Regards,

    John

  • Ki tried this out with his board.  He was able to get Cortex R trace to ETB working but didn't have any luck with the DSP trace to ETB.  So that is good news that ETB is present.  Trace to ETB for the DSP was causing a crash.  That likely means a bug in CCS vs a limitation with the device.

    John

  • Is this the board that you are using?

    https://www.ti.com/tool/AWR1642BOOST

    I didn't see anything in the guide for that board about needing to do anything to use the 60pin header.

    John

  • JohnS said:

    Thank you JohnS for all this information & answers, this is great.   Btw, I did look at those performance tests, and, it did stand out to me how, on those targets that are supported or where it was included in the test, JLink outperforms all other probes esp. when it comes to single stepping instructions - something I find particularly painful with all Ti's probe I used (mostly cheap on-board stuff).  ( Tbh I love my JLink. They just don't support these DSP chips.)

  • JohnS said:

    Is this the board that you are using?

    https://www.ti.com/tool/AWR1642BOOST

    I didn't see anything in the guide for that board about needing to do anything to use the 60pin header.

    John

    Yep, also the 18xx variant... And smth else similar might be coming along.