I'm trying to debug using a Delfino controlCARD (F28377D) with expansion backplane and a Spectrum Digital XDS200 JTAG debugger. Here is what I've done so far.
1) Gotten this all working on my Windows 7 desktop to verify that I had switch settings working, XDS200 is functional and familiarize myself with the setup. (During this process I also upgraded CCS from 6.1 to 6.2.)
2) Plugged the board/debugger intro our Linux build server and repeated the process. When it came to configuring the "Target configuration" I configured as before "Texas Instruments XDS2xx USB Debug Probe":
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <configurations XML_version="1.2" id="configurations_0"> <configuration XML_version="1.2" id="Texas Instruments XDS2xx USB Debug Probe_0"> <instance XML_version="1.2" desc="Texas Instruments XDS2xx USB Debug Probe_0" href="connections/TIXDS2XXUSB_Connection.xml" id="Texas Instruments XDS2xx USB Debug Probe_0" xml="TIXDS2XXUSB_Connection.xml" xmlpath="connections"/> <connection XML_version="1.2" id="Texas Instruments XDS2xx USB Debug Probe_0"> <instance XML_version="1.2" href="drivers/tixds560icepick_c.xml" id="drivers" xml="tixds560icepick_c.xml" xmlpath="drivers"/> <instance XML_version="1.2" href="drivers/tixds560c28x.xml" id="drivers" xml="tixds560c28x.xml" xmlpath="drivers"/> <instance XML_version="1.2" href="drivers/tixds560cla1.xml" id="drivers" xml="tixds560cla1.xml" xmlpath="drivers"/> <instance XML_version="1.2" href="drivers/tixds560cs_child.xml" id="drivers" xml="tixds560cs_child.xml" xmlpath="drivers"/> <platform XML_version="1.2" id="platform_0"> <instance XML_version="1.2" desc="TMS320F28377D_0" href="devices/tms320f28377d.xml" id="TMS320F28377D_0" xml="tms320f28377d.xml" xmlpath="devices"/> <device HW_revision="1" XML_version="1.2" description="" id="TMS320F28377D_0" partnum="TMS320F28377D"> <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C"> <subpath id="Subpath_1"> <property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/> </subpath> </router> </device> </platform> </connection> </configuration> </configurations>
I clicked the "Test Connection" button. The test ran for a long time with the last line displayed :
This utility has selected a 560/2xx-class product. This utility will load the program 'xds2xxu.out'.
And after some minutes (a timeout?) completed and reported
E_RPCENV_IO_ERROR(-6) No connection: DTC_IO_Open::dtc_io Failed to open i/o connection (xds2xxu:0) An error occurred while soft opening the controller. -----[An error has occurred and this utility has aborted]-------------------- This error is generated by TI's USCIF driver or utilities. The value is '-250' (0xffffff06). The title is 'SC_ERR_ECOM_EMUNAME'. The explanation is: An attempt to access the debug probe via USCIF ECOM has failed. [End: Texas Instruments XDS2xx USB Debug Probe_0]
This seems to be the generic 'can't communicate' with the USB debugger message. Following is what I find in dmesg output when
[1444128.176067] usb 4-1.2: new high-speed USB device number 12 using ehci-pci [1444128.268904] usb 4-1.2: New USB device found, idVendor=0451, idProduct=bef0 [1444128.268909] usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [1444128.268913] usb 4-1.2: Product: XDS2xx USB Emulator - Composit [1444128.268916] usb 4-1.2: Manufacturer: Spectrum Digital [1444128.268918] usb 4-1.2: SerialNumber: S200-000E99039000 [1444128.269425] cdc_acm 4-1.2:1.0: ttyACM1: USB ACM device [1444128.269903] cdc_acm 4-1.2:1.2: ttyACM2: USB ACM device
Perms on the TTY devices look OK (and I am a member of the dialout group.)
hbarta@itws007:/opt/ti/ccsv6/install_scripts$ ls -l /dev/ttyACM? crw-rw-rw- 1 root dialout 166, 0 Oct 27 15:17 /dev/ttyACM0 crw-rw-rw- 1 root dialout 166, 1 Oct 27 15:17 /dev/ttyACM1 crw-rw-rw- 1 root dialout 166, 2 Oct 27 15:17 /dev/ttyACM2
Device: ID 0451:bef0 Texas Instruments, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0451 Texas Instruments, Inc. idProduct 0xbef0 bcdDevice 1.00 iManufacturer 1 Spectrum Digital iProduct 2 XDS2xx USB Emulator - Composit iSerial 3 S200-000E99039000 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 141 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 250mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 2 Communications bFunctionSubClass 2 Abstract (modem) bFunctionProtocol 1 AT-commands (v.25ter) iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.10 CDC ACM: bmCapabilities 0x06 sends break line coding and serial state CDC Union: bMasterInterface 0 bSlaveInterface 1 CDC Call Management: bmCapabilities 0x01 call management bDataInterface 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 2 bInterfaceCount 2 bFunctionClass 2 Communications bFunctionSubClass 2 Abstract (modem) bFunctionProtocol 1 AT-commands (v.25ter) iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.10 CDC ACM: bmCapabilities 0x06 sends break line coding and serial state CDC Union: bMasterInterface 2 bSlaveInterface 3 CDC Call Management: bmCapabilities 0x01 call management bDataInterface 3 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Device Status: 0x0000 (Bus Powered)
I think I have just attached the relevant entry for this device from 'lsusb -v'.
I ran the XDS200 firmware update procedure on Windows and found that the firmware version is 1.0.0.8 and there does not seem to be anything more recent. (The XDS200 was just purchased.)
I don't see any obvious problems with anything I have looked at. Versions of what I'm running are:
Ubuntu Linux 14.04 LTS
CCS 6.2.0.00050 (Linux and Windows 7)
Debugger probe lists the following information on the sticker (I have obfuscated the serial number):
Spectrum Digital Inc. P/N 616410-0001A S/N X2B_1601nnn (obfuscated) Product: XDS200
Output following instructions on
C:\ti\ccsv6\ccs_base\emulation\specdig\xds2xx>xds2xx_conf get xds2xxu 0 boardRev=1 ipAddress=0.0.0.0 ipConfig=dhcp ipGateway=0.0.0.0 ipNetmask=0.0.0.0 productClass=XDS2XX productName=XDS200 serialNum=00:0E:99:04:nn:nn (obfuscated) swRev=1.0.0.8 hostCPU=AM1802 emuCtrlType=Bit bang extMemType=SDRAM portUSB=true portENET=false portWIFI=false portRS232=false EnableUSBSerial=false CurrentMeasure=false C:\ti\ccsv6\ccs_base\emulation\specdig\xds2xx>update_xds2xx xds200 C:\ti\ccsv6\ccs_base\emulation\specdig\xds2xx>echo off Updating CPLD . Updating Firmware . Rebooting . Reading Configuration . Check swRev is 1.0.0.8 or higher . boardRev=1 ipAddress=0.0.0.0 ipConfig=dhcp ipGateway=0.0.0.0 ipNetmask=0.0.0.0 productClass=XDS2XX productName=XDS200 serialNum=00:0E:99:04:nn:nn (obfuscated) swRev=1.0.0.8 hostCPU=AM1802 emuCtrlType=Bit bang extMemType=SDRAM portUSB=true portENET=false portWIFI=false portRS232=false EnableUSBSerial=false CurrentMeasure=false Press any key to continue . . . C:\ti\ccsv6\ccs_base\emulation\specdig\xds2xx>
I have previously used the XDS100 USB debugger built into the controlCARD on Linux mostly successfully. (Couldn't get it working inside a Docker container.)
Any help resolving this is very appreciated. If further information is needed, please let me know.
Thanks!