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.

Important -- C2000 Experimenter Kit "Dual RS232" Fix

Other Parts Discussed in Thread: TMDSDOCK2808, TMS320F2806, TMS320F2808, CCSTUDIO, CONTROLSUITE

There is an issue with some of the C2000 Experimenter's kits that include the docking station with onboard USB JTAG emulation being recognized by Windows as "Dual RS232 USB Serial Bridge" instead of the TI XDS100 (xds100v1) JTAG emulator. The USB emulation on the docking station is based on an FTDI USB Serial adapter chip that can act as a JTAG emulator when connected to an external EEPROM containing the emulation parameters. If the EEPROM is not programmed then the FTDI chip appears as a "Dual RS232 USB Serial Bridge". We believe there is an issue with some of the USB docking stations not getting programmed properly.

If you wish to design an XDS100v1 emulator onto your own C2000 board, you can use this procedure to program it.

Here's how to program the EEPROM on the USB docking station:

This will also give you the ability to use the FTDI chip as the XDS100 emulator and a USB to serial adapter at the same time. The FTDI USB to serial adapter is connected to the controlCARD's serial port on the USB docking station. Please note that this is an unsupported feature. For more information on using this feature, please read my update on 6/10/2009.

1) Download and install the FTDI D2XX Drivers found here.  (scroll down, the link for the driver is in the center column of the table on the page)




2) Download and install the MProg program found here.




3) Download the XDS100_wUART.txt file attached to this post and RENAME IT to be XDS100_wUART.ept (see bottom of this post)

4) Connect the USB docking station.

5) Open MProg. Under the File menu select Open and then select the XDS100_wUART.ept file.

6) Under the Device menu select Scan. MProg should give the result below, showing that there is one blank device. (if the device has already been programmed and you wish to reprogram the FTDI's EEPROM, you will need to "Erase All Existing Devices" first)




7) As the above picture shows, select Program under the Device menu. MProg will program the EEPROM on the board and should give a result similar to the one below.




8) Now your XDS100 emulator is programmed and ready be used! This also give you the advantage of allowing the FTDI chip to act as both a JTAG emulator AND a USB to serial adapter which is tied to the serial port on the controlCARD. As shown in the below picture, there is the XDS100 emulator and the USB to serial bridge.

Please note that using the FTDI chip as a USB to serial adapter is an unsupported feature that we are currently testing. For more information please read my update on 6/10/2009.

 

---

Update 6/10/2009

Please note: Using the FTDI chip as a USB to serial adapter is an unsupported feature that we are still testing. It should work, but right now we can't garuntee anything.

To use the FTDI chip on the USB docking station as a USB to serial adapter the C2000 MCU most be disconnected from the UART isolation and tranceiver chips.

This is a relatively simple process. Please refer to the controlCARD schematics found in the C:\TI_F28xxxSysHW directory for more detail. They can be downloaded at www.ti.com/c2000tools. The "Baseline Software" installer will install all controlCARD schematics, etc and the "Hardware Developer's Package" will install the schematics, etc specific to the particular controlCARD.

Here are the instructions for doing this:

  • Piccolo F28035 controlCARD - Set SW1 to the "off" position.
  • Piccolo F28027 controlCARD - Remove "R10", this should be a 0ohm resistor.
  • F2808 and F28044 controlCARD - Remove "R18", this should be a 0ohm resistor.
  • F28335 controlCARD Rev1.1 - Remove "R24", this should be a 0ohm resistor. (Rev1.0 F28335 controlCARDs cannot have their UART tranceiver chips disconnected)
  • C28343 controlCARD - Remove "R193", this should be a 0ohm resistor.

The USB docking station will also need a slight modification. J9 will need to be populated with a header and a jumper will need to be placed on the header.

Currently, the FTDI to USB serial adapter appears to work with the above modifications, however it is currently quite slow. Again, this is an unsupported feature that we are currently testing.

If you choose to use the feature, please let us know what issues/success you have doing so.

If you have any questions on reprogramming your FTDI chip please let me know.

Charlie

  • Hi Charlie,

     

    You saved my day!

    [Ehhh, OK, at least that portion of the day I did not waste trying to get this thing up and running.:-]

    Thanks,

    Claus Knudsen

  • I have problems when I use the Usb-serial slave port to comunicate with flashingLed app!  Did you try this port? Someone could help me?

  • Hi Alexis,

    Please see my below post. I think it will solve your problem. Let me know if it does not.

    Charlie

  • Update 6/10/2009

    I have updated the original discussion topic to include instructions for using the FTDI chip as a USB to serial adapter. Please refer to it for instructions on how to do this. Please note this is an unsupported feature we are currently testing.

    Charlie

  • I removed R24 in F28335 controlCARD and USB serial port worked fine! I used GeneralPurposeGUI to comunicate with FlashingLeds App.

    THANKS.

  • My two cents...

    I have used the secondary serial port along with the primary JTAG port on both the Piccolo and the F28335 controlCARD's.  This feature has worked very reliably and is a great asset to the development/debugging environment.  It is very helpful to have a terminal program like TeraTerm open while I am downloading and debugging code.

    -David

     

  • Hi, Charlie

    the FTDI chip is also connected with SCI on Piccolo USB controlStick, does the usb stick support the feature like the controlCard?

    Silvan

  • Hi Silvan,

         Yes the FTDI chip is corrected on the controlSTICK. However, we are still working on how to get it to work like the USB docking station. Try comparing the schematics for the controlSTICK and the USB docking station, perhaps you can solve the problem before we can! You should be able to reprogram the FTDI chip using the same procedure I detailed above on the controlSTICK. Let me know if you get it working!

    Charlie

  • Silvan,

           You should be able to reprogram the FTDI chip using the above procedure and use the serial port on the controlSTICK without any hardware modification. However, the serial port appears to be very slow. We are working on resolving the speed issue. Let me know if you experience the same thing and are able to find a work around. 

     

    Charlie

  • Good day,

    I'm new useer for C2000. I would like to Use TMS320F2806-ZGMS for my new project.

    I would like to know, TMDSDOCK2808 (TMS320F2808 Experimenter Kit) can help me to program the TMS320F2806 32k flash?

    If yes, please advise the step.

    If no, Kindly provide me the correct tools for above.

     

    Thanks and regards.

    John

  • Hi John,

         It depends on what you want to do. If you want to prototype software and hardware, then the F2808 can be configured to look just like an F2806, simply don't use peripherals that aren't on the F2806. This would allow you to use the TMDSDOCK2808 as an evaluation platform. When you went to build your first prototype you could then put the XDS100 emulator onto the board, as detailed in my other post on adding a controlCARD to a baseboard.

          However, if you are just looking to program and debug an F2806 through a standard JTAG connector then I would recommend purchasing an emulator. There are two options, low cost or high speed. The XDS100 emulator from Spectrum Digital (http://focus.ti.com/docs/toolsw/folders/print/xds100.html) is $79 and low cost, lower speed, but fully functional. The Blackhawk USB2000 emulator is $299 and much faster than the XDS100 (http://focus.ti.com/docs/toolsw/folders/print/tmdsemu2000u.html). For most applications the XDS100 is perfectly fine, only when programming large (512KB) of flash is the XDS100's lower speed all that noticeable.

     

    Charlie

  • Thanks Charlie,

    Yes, I want to prototype software for F2806. Since there is no DOCK2806, I have to use the closest, which is DOCK2808.

    I also want to use the CCStudio to generate .out file for F2806.

     

    During software development and debugging, I know I can use the 0n-board emulator of DOCK2808 to program the flash.

    For product prototype, I plan to program via RS-232 link to the device SCI-A port. For this, I will have to use the SDFlash application from Spectrum Digital.

     

    John

  • Hi John,

     You can use the DOCK2808 like emulator for the F2806 if you removed the F2808 ControlCard of the DockingStation and connect the JTAG DockingStation to the JTAG prototype through a plain cable. I checked it connecting my F28335 prototype with th 28335 USB dockingstation and it worked fine. You only have to put an JTAG Header on you prototype.

     

    Alexis.

  • Alexis,

    Thanks for the quick response.

    I am not programming the prototype using JTAG, but the SCI-A of the F2806 device. I am using the SDFlash application from Spectrum Digital.

    All I need is to generation the .out file of my application and load into the F2806 via SCI-A.

     

    Can I use the DOCK2808 kit to generate the .out file for F2806?

     

     

     

    John

  • JOHN CHONG said:

    Can I use the DOCK2808 kit to generate the .out file for F2806?

     

     

     

    I think what you are asking is if you can use the F2808 found on the DOCK2808 control card to test a program actually built for the F2806.

    If so, yes, you can do this.  Your program needs to only use the memory available on the F2806 and then when you actually program this into the flash of the F2808, you need to make sure to use the F2808 programming procedures, etc.

  • Hello Charlie,

    thank you for your description. Although the Piccolo Control Stick was already programmed I used the description to erase and reprogram the stick with the configuration. Works great under CCS4 with the onboard terminal now. A hint int the ControlStick docu would be helpful for this.

    Thanks and rgds

     

    Friedrich

  • John,

          The .out file is generated by Code Composer Studio. As long as your project is smaller than 32KB then it should work fine. If you need to use a larger program size then you'll have to purchase a full version of CCS. Also, for serial programming checkout this program here: http://www.codeskin.com/ It uses the SCI to program the flash of a C2000 and it is free.

     

    Charlie

  • Also, if you are using the Experimenter's Kit as an external USB emulator be aware that it is not designed to function as such. From what other customers have said only very short cable lenghts work. A good alternative is to purchase the $79 extyernal XDS100 emulator from TI, available at http://focus.ti.com/docs/toolsw/folders/print/xds100.html

     

    Charlie

  • Hey Charlie, thanks for the help today. So this is the follow up question I asked concerning 64bit OS systems. The customer is looking for an isolated JTAG, which you have recommended the TMDSADP1414-ISO. Will this JTAG and CCS4 work with a 64bit OS? Thank you,
  • CCS v4 should support 64-bit OS. See here: http://www.tiexpressdsp.com/index.php/FAQ_-_CCSv4#Q:_Does_CCSv4_support_64bit_Operating_Systems_like_Vista_64.3F

    I think XDS100 64-bit driver was recently added to CCS.

    TMDSADP14140-ISO is an adapter, and has no dependecy on the OS. It just provides isolation between a 14 pin JTAG target and a 14 pin JTAG emulator, but is not an emulator itself. There is a brief description here: http://focus.ti.com/docs/toolsw/folders/print/tmdsadp.html

  • Hi Charlie,

    I have the June 2009 version of the document above, but the hyperlinks does not work. Could you send me the address of the link to

    XDS100_wUART.ept, or direct me to where I might be able to locate it? Unfortunately I missed what seems to be obvious to everyone else.

    Also, could you check the links in the document?

    Thanks,

    Tim

  • Tim,

            The very first post on this thread has a "XDS100_wUART.txt" file that you can download directly. Re-name it ".ept" and you'll be up and running!


    Charlie

  • Charlie,

    I found the link. Thanks.

    Tim

  •  

     

     

     

     

     

     

    Need technical help again. This is my problem:

    1.

     

     

    I want to program the F2806 device on my prototype using SCI-A bootloader. To do this:

    2.

     

     

    I use SDFlash RS232 utility from Spectrum digital.

    3.

     

     

    SCI connection between the PC and the device consists of Tx, Rx and Gnd.

    4.

     

     

    I configure the GPIO pins for SCI bootloader mode (as per reference guide).

    5.

     

     

    User app code is the .out generated by CCStudio.

     

    However, SDFlash always fail to connect to the target. As a comparison, I used the same method to program the F2808 device on the DOCK2808 experiment kit (with the correct .out file etc) and I managed to program the device. Did I miss out any data or file, causing the connection to the F2806 device fail? Please advice.

     

    According to document SPRU722C ?TMS320x280x Boot ROM reference guide?, Hex2000 utility uses the .out file from CCStudio to generate a boot table for SCI-A bootloader.

    My questions are:

    1.

     

     

    The SCI-A bootloader need a boot table loaded from outside the F2806 device?

    2.

     

     

    I need to convert the .out file to .hex using Hex2000 utilities if I am using the SCI bootloader?

    3.

     

     

    Can I load the .hex file via hyper-terminal?

  • Hi Charlie and Everyone,


    I followed the instructions to modify my F28027 control stick to use the serial port emulation.  Everything works just fine - no hardware mods neeeded.

    About the post above, there was a thread on the forums about a serial compatible bootloader for the '28027 that was free... anyone remember?

  • Check out www.codeskin.com I believe this is what you are looking for.

    Charlie

  • Need technical help again. This is my problem:
    1) I want to program the F2806 device on my prototype using SCI-A bootloader. To do this:
    2) I use SDFlash RS232 utility from Spectrum digital.
    3) SCI connection between the PC and the device consists of Tx, Rx and Gnd.
    4) I configure the GPIO pins for SCI bootloader mode (as per reference guide).
    5) User app code is the .out generated by CCStudio.
    However, SDFlash always fail to connect to the target. As a comparison, I used the same method to program the F2808 device on the DOCK2808
    experiment kit (with the correct .out file etc) and I managed to program the device.
    Did I miss out any data or file, causing the connection to the F2806 device fail? Please advice.
    According to document SPRU722C ?TMS320x280x Boot ROM reference guide?,
     Hex2000 utility uses the .out file from CCStudio to generate a boot table for SCI-A bootloader.
    My questions are:
    1) The SCI-A bootloader need a boot table loaded from outside the F2806 device?
    2) I need to convert the .out file to .hex using Hex2000 utilities if I am using the SCI bootloader?
    3) Can I load the .hex file via hyper-terminal?

    John

  • John -

    If it worked on the 2808 using SDFlash Serial, then it should work on the 2806 as well - the only difference is that you use the F2806SerialFlash.sdp project instead of the F2808SerialFlash.sdp project.  The software patch to SDFlash itself is the same for both devices with the only difference being that the flash API recognizes the 2806 device instead of the 2808 device to program and erase the correct flash sectors.  Check to make sure that the SCI hardware between the 2 boards is the same.

    1) The SCI-A bootloader only needs the .out file to be converted using the .hex utility in the method described in the app note documentation that comes with sdflash serial.

    2) SDFlash Serial does not work with hyper-terminal.

  • Hi Charlie,

    I have a question regarding using the SCI block of  DOCK KIT TMS320F2808. The seemingly straightforward implementation turns out to be pretty confusing.

    This is how I want to use the DOCK KIT as host to communicate with my prototype, as a slave. The prototpye has an F2806. My implementation is as follow:

    I use SCI + RS-485 transceiver to implement full-duplex link between them.

    Drive/receive enable of the transceiver is controlled by by software via the GPIO of the DSP.

    SCI is configured to run idle-line mode.

    Controlling of DE and RE of the RS-485 of both sides depends on the direction of communication. There is a short duration of Hi-Z state on the bus when host transits from 'tx' to 'rx' and the slave transits from 'rx' to 'tx'. To take care of this transition, I implemented fail-safe pull-up and pull-down on the bus.

    I use the SCI as in the usual manner, i.e. check TXRDY bit before dumping data into the TXBUF and then check for end of TX before starting 'tx' transition to 'rx' and controlling the DE and RE signals accordingly. For receiving, I poll the RXRDY bit and then read from the RXBUF.

    However, I have problem receiving reliably. When i debug using the SCI-A and B of the DOCK KIT (link up SCI-A and B), this is my observation: 

    For examples:

    SCI-A sends 0x1; SCI-B receives correctly. The RXRDY goes high and data can be read from RXBUF correctly. Btw, RXRDY is cleared after data read, but not the RXBUF.

    Then SCI-B sends 0x55. After sending out, the FE and BRKDT bits of the RX status register are triggered. I think somehow the SCI-B is detecting signals. However, the same problem persists even if I disable SCI-B RX before SCI-B sends data out.

    Did I miss out any timing that must be followed for idle-line mode? In my debugging test, I am not using any addressing, so the first block contains the data itself.

    Also, it is advisable to leave SCI tx and rx on? or turn them on/off when necessary in the program?

    Thanks for your help,

    King Wai

     

  • Maybe I'm just confused (not unusual), but it seems to me my problem is just the opposite.  Windows recognizes the development kit as "Texas Instruments XDS100+RS232 V1.0", but the driver is set up as "FtdiPort2232" or something like that.  So the driver I download from www.ftdichip.com is not recognized as the right driver for the device I plugged into the USB port.

    Is there a line in a '.inf' file that I can change so that Windows will know this is the right driver for a "Texas Instruments XDS100+RS232 V1.0" device?  I don't know anything about USB device drivers and that's not what I'm trying to learn.  I'm trying to learn about Power Factor Correction.

    The FTDIchip.com website says "If a custom Vendor ID and/or Product ID, or description string are used, it is the responsibility of the product manufacturer to maintain any changes and subsequent WHQL re-certification as a result of using these changes", and I believe the chip in the Motor Control and PFC Developer's Kit uses a different Vendor ID, Product ID and description string.  So please tell me how to make Windows know that the driver downloaded from www.ftdichip.com is really the right driver for the Developer's kit.

    Don Widders

    (425) 251-1670

  • Before you plug in an XDS100 you need to have Code Composer Studio installed as the FTDI drivers are installed with it. It is included with CCSv4 which you can get from: http://www.tiexpressdsp.com/index.php/Category:Code_Composer_Studio_v4#Downloads

  • FTDI changed from mprog to FT_prog. I attached a new XML file since the older EPT files didn't work.

  • Steve said:
    FTDI changed from mprog to FT_prog. I attached a new XML file since the older EPT files didn't work.

    Could you please describe what the status of this .xml file is? (does it include the serial port?)

    I had to reprogram one of the 28xx Docking Stations (USB-EMU [R3] with XDS100v1) that had an improperly programmed FTDI chip, so I used the .txt/.ept file posted on the first post in this thread. It worked correctly, until I put in a controlCARD that has a flash program that outputs things on the UART. For some reason, which this controlCARD is inserted, the PC thinks that in addition to the XDS100 parts, a serial mouse is also plugged in, and the mouse cursor goes haywire until I unplug the USB. If I connect my PC to the Docking Station w/o the flash-programmed controlCARD, it does not have this problem.

    If I connect my PC to a different Docking Station that came programmed correctly in the first place, it does not have this problem.

    I have reproduced this on two separate computers (both running Windows XP).

    I am not sure what is causing the problem, but I need a way to reprogram the FTDI chip properly with XDS100v1 settings, and I suspect that I need to do it *without* the serial port support.

    Please post a set of .ept and .xml files so I can fix this.

     

  • I created that XML file as a temporary file. I had a problem with a controlcard which wasn't programmed and couldn't get mprog. So, I just created one from the screenshots in this post since ft_prog can't handle ept. It's not official, I just posted it in case someone else comes across a similar problem.

    I am not knowledgeable with the UART operation, so hopefully someone else on the list will respond to that issue.

  • Hello Charlie,

    curious question:

    According to the embedded wiki I learned today that CCS4.02 does NOT accept an PID A6D0 any more (as shown in the illustrations above). According to the wiki it has to be 6010 otherwise the ControlStick is not recognized (which is currently the fact).

    Have you come across this? I reprogrammed the stick in Sep2009 (see earlier posting) and was happy with it until today when the CCS4.xx update came online.

     

    rgds Friedrich

  • Hi Friedrich. Can you give me the link to the wiki you are reading? 

  • Hello Charlie,

    http://processors.wiki.ti.com/index.php/XDS100

    or: G****e on XDS100 wiki.

    rgds

    Friedrich

  • Hello Charlie,

    mea culpa, mea maxima culpa.

    The people that can read clearly have an advantage :))

    Must read: "The ID must NOT be 6010". So I programmed it to 6010 and back again. But still does not work.

    Currently getting CCS4.1 to try.

     

    rgds

  • Hello Charlie,

     

    problem still stays with CCS4.1.  XDS is programmed as decribed. Access to target is not possible.

    Is there a possibility to revert back to not using the second channel?

    rgds

  • Hello Charlie,

     

    after three installations CCS4.1 on different systems (and different license models) with none accepting the C2000 control stick I assume permanent damage of the stick during the first programming session after the update from CC4.00 to 4.02. On the other hand a USB dock with F28027 SIMM card did work.

    I regard the issue as closed and will try to get a new stick.

    rgds FJ

  • Charlie,

    I want to write data to a USB memory stick.   I understand that this is possible using the dual nature of the FTDI chip.  I have the F28335 control card v. 1.2 and the docking station with the FTDI 2232D purchased in March 2010.  Is the method you have outlined above still valid or needed?

  • Hello ,

    I am working on SolarExplorer Kit , I am trying  to flash F28027 control card of this kit. I came across few emulator errors while flashing this through CCS.

    So I tried to program the on board FTDI chip with MProg through USB using XDS100_wUART.ept file.  While doing so I made a mistake by editing the Product ID  value from A6D0 to 0611(found this printed on chip) and programmed it. 

    Now I am unable to connect to the FTDI chip as windows doesnt detect "Texas Instruments XDS100+RS232 V1.0" drivers for this device. And MProg or FT_Prog packages doesnt detect my FTDI Chip anymore.

    Could you please help me how to reprogram the FTDI chip back to XDS100 emulator so that windows detects the driver for this device.

    Thanks in advance.


  • Thank you for this fix, the problem still lives on in 2013.  The fix was needed and worked on (2) C2000 Docking-Station USB-EMU [R3] s purchased this month.

    Again thanks, especially for the screen shots of Mprog , , ,     <N/M> 

  • Charlie3036 said:
    F28335 controlCARD Rev1.1 - Remove "R24", this should be a 0ohm resistor. (Rev1.0 F28335 controlCARDs cannot have their UART tranceiver chips disconnected)

    I have a very basic question on how to remove the resistor from the control card. Do we need to physically remove the resistor using soldering machine or by means of any jumper settings? I'm new  to this embedded side.

  • Anand,

    What version of the F28335 controlCARD do you have?  You should find this information on the silkscreen of the PCB. 

    Also, is the F28335 MCU a BGA or QFP package on your card?

    Depending on your answer, you may have to physically remove a resistor or you may merely have to flip a switch.


    Thank you,
    Brett

  • Brett Larimore said:
    What version of the F28335 controlCARD do you have?  You should find this information on the silkscreen of the PCB. 

    Also, is the F28335 MCU a BGA or QFP package on your card?

    Hi Brett,

    I'm having F28335 BGA package with version 2.2.

    Could you please guide me the hardware changes that has to be done to use channelB for RS232?

     

    Thanks,

    Anand

  • Anand,

    Thanks.  Firstly, I will refer you to the schematic for this board.  This should help clarify some things.  It (and the Docking Station's schematics) can be found inside controlSUITE, our software delivery platform, here once installed:
    \controlSUITE\development_kits\~controlCARDs\CC2833xHWdevPkg\F28335controlCARD HWDevPkg ZJZ [R2.2]\

    Based on your statement, I assume you want to use the FTDI chip on the Experimenter Kit's Docking Station to communicate to your computer via RS232.  To do this you should flip SW1 on the controlCARD to "OFF".  This will allow the FTDI to drive the UART's RX pulse.  Note that J9 on the Docking Station should also be jumpered in order for the UART communication to work.


    Thank you,
    Brett

  • Hi. I have problems with F2806x ISO controlCARD. I had error 105, and i was trying to find a solution and was redirected to this side. I have done the procedure, but i can not program my FTDI. Can you please help.
  • user4502050,

    Please consider creating a new thread and posting your question there. The last post prior to yours is from 3 years ago and the initial post is over 6 years old. Posting to a new thread will greatly increase the likelihood of your question being answered. Let us know if you have any questions.

    Kyle
  • In step 6 I wanted to reprogram eeprom so needed to erase previous program device. It then started showing one blank device. I then tried to program it but then a pop up appeared saying no device have been found. What could be the problem. I am using f2812 XDS100v2 emulator.