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.

XDS200 on Mac with Parallels Windows VM

Has anyone had success with getting an XDS200 (USB) device to function on a Mac with a Windows-7 Parallels virtual machine?

The XDS100 does not seem to have any problem, but testing a XDS200 from the CCS target configuration yields the message below.

Note that I can rule out a problem with the emulator (or target) as the same setup works flawlessly on a native Windows machine.

Thanks,

Beat

[Start]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\beat\AppData\Local\.TI\693494126\
0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 560/2xx-class product.
This utility will load the program 'xds2xxu.out'.
E_RPCENV_IO_ERROR(-6) No connection
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 named emulator via USCIF ECOM has failed.

[End]

  • I don't have an environment that I can try this in so I can't help much.  The XDS100 uses the OS driver for the FTDI usb interface chip while the xds200 uses stock drivers that ship with the OS.  Thus they are very different in the way the OS detects them.   I know we have had issues on Ubuntu 13.04 and Fedora 18 where the OS gets confused and thinks it is a modem.  We had to update or driver rules file to handle that.  Maybe Mac OS has a similar issue?  There is also a LAN version of the xds200 available.

  • Hi,

    I got to this post because I have exactly the same problem. I have tested CCS (last version 5 and beta version 6) in a Windows 7 Pro x86 virtual machine running under VMWare Fusion (last version) and Parallels (last version) in a Macbook Pro (OSX last version). The emulator I used is the XDS200 from Blackhawk and Digital Spectrum.

    The same CCS/Windows setup worked flawlessly in a "real" Windows 7 x86 machine. I asked for support in Parallel and they told me the problem should be in the "OSX/emulator driver" relationship.

    I have another USB problem with other device that worked in a "real" machine but have strange behaviour in a "virtual" machine under VMWare and Parallels.

    I found some recommendations regarding VMWare USB configurations to improve compatibility. One of these recommendations (VMWare USB quirks) allow me to reach one step further in the emulator communications but stops working as usual.

    Have you resolved this issue?

    Regards

  • Victor,

    I have not been able to resolve this issue. Unfortunately,  my understanding of USB is too limited to understand why some USB hardware works flawlessly on virtual machines while other does not. 

    FYI, the CAN adapters from Vector seem to be falling into the latter category (even on Windows hosts), while solutions from Kvaser and others work fine on my VMs.

    Regards

    Beat

  • I have the same issue. Just got four XDS200 emulators. All of them fail to connect on MacBook with Parallels 9.0.24237. I have been running XDS100 and other emulators on this combination before with CCS 4 and no issue.

    using Windows 7. When I plug the emulator, it enumerates on the Mac as:

    • XDS2xx USB Emulator - Composit:
    •   Product ID: 0xbef0
    •   Vendor ID: 0x0451  (Texas Instruments)
    •   Version: 1.00
    •   Serial Number: S200-000E99039000
    •   Speed: Up to 480 Mb/sec
    •   Manufacturer: Spectrum Digital
    •   Location ID: 0x1a120000 / 4
    •   Current Available (mA): 500
    •   Current Required (mA): 500

    The Windows machine then installs two drivers: 

    • XDS2xx Emulator CDC Serial Port (COM10)
    • XDS2xx User CDC Serial Port (COM12)

    When I use a debug session on CCS v 6, it just hangs. If I run the Test Connection, I get:

    • [Start: Texas Instruments XDS2xx USB Emulator_0]
    • Execute the command:
    • %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity
    • [Result]
    • -----[Print the board config pathname(s)]------------------------------------
    • C:\Users\ADMINI~1\AppData\Local\TEXASI~1\ CCS\ti\0\0\BrdDat\testBoard.dat
    • -----[Print the reset-command software log-file]-----------------------------
    • This utility has selected a 560/2xx-class product.
    • This utility will load the program 'xds2xxu.out'.

    Closing the window hangs CCS. Disconnecting the emulator finishes the process with 

  • If I use BlackHawk USB560M and Spectrum Digital XDS560v2 STM with CCS 6, I am also unable to get them to work, but CCS does not hang. I get this error:

    • [Start: Blackhawk USB560-M Emulator_0
    • Execute the command:
    • %ccs_base%/common/uscif/dbgjtag.exe -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity
    • [Result]
    • -----[Print the board config pathname(s)]------------------------------------
    • C:\Users\ADMINI~1\AppData\Local\TEXASI~1\ CCS\ti\0\0\BrdDat\testBoard.dat
    • -----[Print the reset-command software log-file]-----------------------------
    • This utility has selected a 560/2xx-class product.
    • This utility will load the program 'bh560usbm.out'.
    • The library build date was 'May 21 2014'.
    • The library build time was '17:30:09'.
    • The library package version is '5.1.507.0'.
    • The library component version is '35.34.40.0'.
    • The controller does use a programmable FPGA.
    • The old VHDL code has a version number of '0' (0x00000000).
    • The new VHDL code has a version number of '386336272' (0x17070610).
    • An error occurred while hard 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 '-183' (0xffffff49).
    • The title is 'SC_ERR_CTL_CBL_BREAK_FAR'.
    • The explanation is:
    • The controller has detected a cable break far-from itself.
    • The user must connect the cable/pod to the target.
    • [End: Blackhawk USB560-M Emulator, 20-pin JTAG Cable_0]

    Similar for Spectrum Digital. I am trying to debug a Tiva TM4C129 with an adapter board.

    The Spectrum Digital and BlackHawk USB560 worked fine using CCS v4.

  • I am also running into this issue. XDS200, Parallels on Mac. Did you guys ever find a solution to this problem?
  • Sorry, we have several TI'ers with MacBooks and unable to use XDS200 under virtualized OS with Parallels nor VirtualBox. I have not been able to find a contact in our tools group that has been able to look at this issue.

    I have no issue with XDS100v2 nor with XDS560v2STM. However, I do not know of anyone able to use XDS200 with a Mac.

  • I have tested XDS200 with Parallels 9 and Parallels 10. In both, CCS hangs.
  • This problem was due to bad 10-pin ARM adapter. I am able to use Spectrum Digital XDS560v2STM with CCS6 under Parallels 9 and Parallels 10.
  • Last night i got an XDS200 working on parallels, at least for a short period of time. Unfortunately i cannot reproduce but would like to mention a few details of how it happened, maybe someone has an idea.

    I started out with the XDS plugged directly into the mac but no comm from CCS. Then, after trying a lot of different things, i started plugging the XDS into other USB ports. My MBP has 2 of them, so i started here, still no comm, then i plugged into my Thunderbolt display's USB ports, also no comm. But then, plugged the XDS into an USB hub. This is the "pigtail" kind, not powered. it basically splits 1 USB into 4. When i plugged the XDS200 into that, immediately the USB activity indicator in Parallels started blinking more actively, and CCS was able to communicate with the XDS. The LED's on the XDS changed and i was able to erase flash and flash new code. All worked.

    Today, back in the office, i forgot this USB pigtail and am trying a few different things, but still, no luck. I will report back when i am able to try it with the pigtail again.

    One is curious what was so special about this pigtail? Maybe the MBP has all USB3 ports and the pigtail "downgrades" them to USB2? Maybe it's a powered vs. unpowered issue?
  • I have used the XDS200 directly connected to a MacBook Pro, connected to a powered USB 3 hub that is connected to MacBook Pro, and also connected to a powered USB 3.0 hub connected to Thunderbolt monitor (treats it as USB 2.0 hub). In all three cases, I was unable to get the XDS200 to work. It always enumerates on the Mac, but then CCS hangs when trying to connect.

    However, you might be on to something. I have seen USB devices that have issues with long cables or too much capacitance on their circuit boards that work fine when plugged through a hub. It seems the hub changes the capacitance or length of the USB signals placing these signals back into spec for the marginal device.
  • I have somewhat good news. I am able to reproduce a working Parallels / XDS200 setup. As mentioned in my earlier post, it starts working when i connect the XDS200 via a 4-port USB hub. I have included pictures of this hub below. Unfortunately i don't have much info about it, it's quite old. I could break it open if someone needs to know the specific make & model. 

    I am also including some screenshots of the device manager and OS X USB enumeration with and without the hub. With the hub is on the left, without on the right. On the windows side, the only thing that changes is the com port of the XDS. could that be it? Otherwise, i am not sure why it's working with the hub.

    If anyone has any ideas based of this info, please let me know, would love to get this working without the hub.

  • Only and probably the critical difference is that your hub is old and is a USB 1.x hub. It is running at legacy 12 Mbit/sec speeds and if forcing the XDS200 to also act as a USB 1.0 speed. It may be hard to find old enough hubs that fall back to 1.0. I will try to get Parallels to use USB 1.0 but I'm not sure it will work.

    This is another example of TI tool quality degradation. It is naive to not realize how many people work in virtual machines nowadays (whether on a Mac or Windows), it order to do development. And to not have this problem solved in what looks like a report from 2 years ago is amazing to me. I have to completely change the development cycle of our developer to force them to reboot into Windows, lose all their tools and code access just to use an emulator because no one is fixing a non-compliant USB driver. I have not ran into any USB issues with emulation for many years until this.

  • I could observe the same issue with the onboard XDS of my eval kit. Unfortunately it completely hangs CCS. Downgrading to USB 1 speed seems rather silly, but maybe disabling the USB 3 support in parallels would do it. I don't have the kit right here, so I will report back on monday. Also posting in hope of future useful contributions.

  • I already tried this and it made no difference, but please do report back.

  • XDS200 does not work on a Mac, period. We have tried to use for the past couple of years in several different virtual machine, windows OS, and turning things off. I just does not enumerate properly. The Wiki needs to be updated to state XDS200 does not work on a Mac. 

    XDS100v2 and XDS560v2STM do work perfectly on a Mac under several virtual machines.

    We have a similar problem with MSP430FET, however, disconnecting and reconnecting from the VM solves that problem.

  • Maybe the XDS200 firmware should be fixed to address this? I think VM's are a very common part of development these days and many of us use macs.
  • I agree. For many years, the Mac users at TI have requested cross platform support for all TI tools.

    I was just indicating the current state of XDS200. About two years ago, we filed bug reports on XDS200 inability to enumerate properly on Mac OS.

  • These bug reports were filed against the XDS200 firmware? I'm trying to understand where the problem is, in the firmware or OS X?
  • pixbroker said:
    These bug reports were filed against the XDS200 firmware? I'm trying to understand where the problem is, in the firmware or OS X?

    Well, IF the device doesn't enumerate in a MAJOR and mature operating system does it really matter? At this point I have not seen any device except this one (and believe me I use a lot of different USB devices and drivers including our own and TI devices) that do not work under MacOS and/or VM except this one. And this is a very common USB emulator. Why wouldn't someone take a day and fix it?

  • I just wanted to follow up on this thread. It seems that as of Parallels Version 11.0.2 (31348) and OS X El Capitan 10.11.1 (15B42), XDS200 enumerates properly and i am able to use it at USB2.0 speed from both IAR and CCS. The trick with the USB1.0 hub in between still works, but seems no longer needed.
  • Good to know. There is also a native version of CCS for MacOS as well that is in beta.
  • I just tried CCS for mac with XDS200 and it seems to work at about the same speed as via IAR. Great news.
  • Have you been able to get CCS for mac to work consistently with the XDS200? I was trying with CCSv7 and failing. Now I am trying with CCSv6. Thanks!
  • I have been using CCS v6 with XDS200 and Tiva with no issues for the past year. I just downloaded CCS v7, but left my XDS200 at work, so I have not tried that combination, yet.

    At first the XDS200 did not work reliably. I hooked it up under Windows VM and it asked for a firmware update. Once I updated the XDS200 firmware, it had no issues with the Mac version of CCS. This was using an XDS200 that is about three years old.

  • Hi Pedro,

    Great to hear from you!  And thanks for offering an existence proof. :-)

    I saw some earlier  comments about enumeration issues in the past.  That was when I noticed that I had only had one usbmodem enumerated.  I double checked that I had the latest firmware update.  (I did.)  I double checked on the usbmodems that were being listed, noticed some anomalies, and I believe I have gotten it to stabilize.  

    I have been checking out ccsv6 and ccsv7 for the last few minutes, taking them through their paces i.e. debug, restart etc.  So far, so good.

    The only thing that might be helpful for you to verify is if you do, in fact, see that the XDS200 does create two /dev/tty.usbmodems.

    All the best,

    Ray

  • I sent in my XDS220 for a firmware upgrade (after I bricked it trying to reflash it myself) and now it _does_ work without a hitch under Parallels 10.