Application Note AN_124 User Guide for FTDI FT_Prog Utility

Future Technology Devices International Ltd.
Application Note AN_124
User Guide for FTDI FT_Prog Utility
Document Reference No.: FT_000172
Version 1.5
Issue Date: 2011-08-19
This application note explains how to use the FT_Prog utility which provides a user interface to
access any EEPROM used with FTDI devices.
FT_Prog replaces the previous FTDI utility used for this purpose called MPROG
Future Technology Devices International Limited (FTDI)
Unit 1,2 Seaward Place, Glasgow G41 1HH, United Kingdom
Tel.: +44 (0) 141 429 2777 Fax: + 44 (0) 141 429 2758
E-Mail (Support): support1@ftdichip.com Web: http://www.ftdichip.com
Copyright © 2009-14 Future Technology Devices International Limited
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Table of Contents
1
Introduction .................................................................... 3
2
Downloading and Installing FT_Prog .............................. 4
3
FT_Prog Basics ................................................................ 6
3.1
4
5
Modes of Operation ................................................................... 6
Edit Mode Functions ........................................................ 7
4.1
Create a New EEPROM Template ............................................... 7
4.2
Modify an Existing EEPROM Template ....................................... 8
4.3
Save a Template........................................................................ 8
Device EEPROM Parameters .......................................... 10
5.1
Chip_Details ............................................................................ 10
5.2
USB_Device_Descriptor .......................................................... 10
5.3
USB_Config_Descriptors ......................................................... 11
5.4
USB_String_Descriptors.......................................................... 12
5.5
FT232R Hardware_Specific ..................................................... 13
5.6
FT245R Hardware_Specific .................................................... 14
5.7
FT2232D Hardware_Specific ................................................... 15
5.8
FT2232H Hardware_Specific ................................................... 16
5.9
FT4232H Hardware_Specific ................................................... 18
5.10 FT232H Hardware_Specific ..................................................... 19
5.11 FT4222H Hardware Specific .................................................... 21
6
7
Program Mode Function ................................................ 22
6.1
Scan for Devices ..................................................................... 22
6.2
Erase Existing Devices ............................................................ 23
6.3
Use an Existing EEPROM Template .......................................... 24
6.4
Program Existing Devices ....................................................... 27
6.5
Cycle Port................................................................................ 29
Command Line Programming ........................................ 30
7.1
8
Batch File Programming .......................................................... 34
Vinculum Programmer .................................................. 35
Copyright © 2009-14 Future Technology Devices International Limited
1
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
9
Definition of Error Messages ......................................... 39
10 Contact Information ...................................................... 42
Appendix A – Revision History ........................................... 43
Copyright © 2009-14 Future Technology Devices International Limited
2
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
1
Introduction
FT_Prog is a free EEPROM programming utility for use with FTDI devices. It is used for modifying EEPROM
contents that store the FTDI device descriptors to customize designs.
FT_Prog also includes the capability of programming the VNC1L and VNC2 firmware using a UART
interface.
FT_Prog is an enhanced version (and a replacement for) the previous utility used for this function called
MPROG as well as the VProg application.
Devices supported by FT_Prog are:














FT-X
FT232RL & FT232RQ
FT245RL & FT245RQ
FT2232D, FT2232C & FT2232L
FT232BM, FT232BL & FT232BQ
FT 245BM, FT245BL & FT245BQ
FT8U232AM
FT8U245AM
FT2232H
FT4232H
FT232H
FT4222H
VNC1L
VNC2
FT_Prog is available as a free download from the Utilities page of the FTDI website.
FTDI devices support 93C46 EEPROMs organized in 16-bit words, except for the R series of devices which
have an internal EEPROM. The BM, C and H devices also support 93C56 and 93C66 EEPROMs organized in
16-bit words.
When fitted, an external EEPROM allows customization of the device default parameters such as VID,
PID, Serial Number, Manufacturer Descriptor and Product Descriptor. FT_Prog provides a fast and simple
way to program these parameters.
A convenient way of programming the EEPROM is to populate a blank device on the PCB during
manufacturing assembly and then program it via USB during the manufacturing test process. All these
devices support direct programming over USB using the FT_Prog programming utility.
Copyright © 2009-14 Future Technology Devices International Limited
3
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
2
Downloading and Installing FT_Prog
The latest version of FT_Prog can be downloaded from the Utilities page of the FTDI website in a zipped
executable file.
Extract the file using an extraction tool. There are many available on the web such as Winzip or WinRAR.
Most versions of Windows e.g. Win 7 come with these utilities pre-loaded.
The application requires the latest version of the D2XX drivers installed, a guide can be found on the FTDI
website under the Install Guides Section. For Win 7 please refer to AN_119 and for Win 8 please refer to
AN_234.
Note: FT_Prog requires the Microsoft .NET Framework 3.5 (or later)which can be downloaded from the
Microsoft website. If your system does not have .Net 3.5 installed you must download and install this
from the above link before the application will run.
Run the executable file by double clicking on the .exe and the following screen appears:
Copyright © 2009-14 Future Technology Devices International Limited
4
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Copyright © 2009-14 Future Technology Devices International Limited
5
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
3
FT_Prog Basics
3.1 Modes of Operation
FT_Prog has 3 modes of operation: Idle Mode, Program Mode and Edit Mode. FT_Prog programming
parameters are saved in files referred to here as EEPROM templates. Once defined, these EEPROM
templates can be loaded by FT_Prog and used to program EEPROMs.



Idle Mode is the initial mode of operation when the program is launched.
Edit Mode is used to edit the settings of an EEPROM template.
Program Mode is used to Program and Erase the device EEPROM(s).
When FT_Prog is launched, it is initially in Idle Mode and the screen will look like this.
User choices in Idle Mode are:



Create a new EEPROM template. This will change the mode to Edit Mode and allow the user to select
the parameters for their device.
Open an existing EEPROM template.
Scan the USB Bus for available devices. FT_Prog will report how many programmed and blank
devices are attached to the target PC.
Copyright © 2009-14 Future Technology Devices International Limited
6
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
4
Edit Mode Functions
4.1 Create a New EEPROM Template
To create a new EEPROM template click on the Create New Programming Template button on the toolbar
or select “New Template” from the “File” Menu.
The EEPROM template can define parameters in the following categories:











Chip_Details
USB_Device_Descriptor
USB_Config_Descriptors
USB_String_Descriptors
FT232R Hardware Specific
FT245R Hardware Specific
FT2232D Hardware Specific
FT2232H Hardware Specific
FT4232H Hardware Specific
FT232H Hardware Specific
FT4222H Hardware Specific
Please see section 5 for a detailed description of template parameters.
Copyright © 2009-14 Future Technology Devices International Limited
7
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
4.2 Modify an Existing EEPROM Template
To modify an existing EEPROM template, click on the "Open Template" button on the toolbar
Or select, "Open Template" from the "File" menu.
This will launch the Open dialog box. Select the template to be modified and click on "Open".
FT_Prog will load the template into the “Device Tree” window, making it available to be edited.
4.3 Save a Template
Any changes can be saved, click on the "Save" button to save the changes.
Copyright © 2009-14 Future Technology Devices International Limited
8
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Or select “Save As Template” from the “File” menu.
Or right click on the required template, and select “Save As Template”
Enter a file name for the EEPROM template, perhaps a product name (USB_RS232_Cable.xml in this
example), and click on "Save"
FT_Prog will save the EEPROM template
Copyright © 2009-14 Future Technology Devices International Limited
9
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5
Device EEPROM Parameters
5.1 Chip_Details
Select the device type to be programmed from the Chip Details box. When selected, this will enable the
menu options appropriate to the device that you have selected.
5.2 USB_Device_Descriptor
The choices available from the combo-box for VID and PID are:




FTDI Default. If the FTDI default values are used, the VID and PID are fixed and it is not necessary
to enter any values.
FTDI Supplied PID. If you wish to use FTDI's Vendor ID and FTDI have supplied you with a Product
ID for use with your products, please enter the Product ID supplied by FTDI (a 4 digit hexadecimal
number) in the Product ID box provided. If you wish to use FTDI's Product ID and do not have a
unique Product ID assigned for you by FTDI then please Contact FTDI with your request. There is no
charge for this service to bona-fide FTDI customers.
Other VID & PID. If you have your own USB Vendor ID and Product ID for your device, then this
option will allow the user to enter both the USB VID and USB PID for your product in the boxes
provided.
USB Version Number. The BM and C series devices have the option to set the USB version number
to USB 1.1 or USB 2.0. This has no effect on the functionality of the device, however for USB
compliance testing we recommend that you choose the USB 2.0 setting. For AM series devices the
version number is hard coded to USB 1.1.
Note that if non-standard VID and/or PID values are used the driver INF file must be modified
to accommodate the new VID and PID combination. FTDI provide a utility to generate custom
INF files, this is available from the Utilities section of the website. Please refer to the
application note AN-107.
Copyright © 2009-14 Future Technology Devices International Limited
10
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.3 USB_Config_Descriptors
Details of the USB device power requirements/USB Remote wakeup/Pull down IO Pins in USB Suspend
can be set in the USB_Config_Descriptors.
Select Bus Powered (the product gets power from USB) or Self Powered (the product has it's own power
supply) from the power options. The Max Bus Power value defaults are 100mA for a Bus Powered product
and 0mA for a Self Powered product; however these are only default values and can be changed by
entering a new value in the Max Bus Power field. A summary of the rules and options are given below:
All USB Devices:


The maximum current that can be supplied over the USB bus without violating the USB specification
is 500mA. Do not enter a value of more than 500mA in the Max Bus Power field.
High power bus powered products. These products consume between 101mA and 500mA from the
USB bus and can be plugged into any USB host. However, such products can only be plugged into
self powered USB hubs (hubs that have their own power supply) as bus powered USB hubs can only
supply 100mA per hub port.
Bus Powered USB Devices
These fall into two categories:


Low power bus powered products. These products consume 100mA or less from the USB bus and
can be plugged into any USB host or hub port.
High power bus powered products. These products consume between 101mA and 500mA from the
USB bus and can be plugged into any USB host. However, such products can only be plugged into
self powered USB hubs (hubs that have their own power supply) as bus powered USB hubs can only
supply 100mA per hub port.
Self Powered USB Devices
These fall into two categories:

True self powered products. These products have their own power supply and do not require any
current from the USB bus. Enter a value of zero in the Max Bus Power field.

Hybrid self powered products. These products have their own power supply, but also draw some of
their operating current from the USB bus. Enter the current draw from the USB bus in the Max Bus
Power field.
USB Remote Wakeup:

FT8U232AM and FT232BM devices are capable of resuming a PC from the USB suspend (sleep) state
via the RI# pin. FT245BM also has this capability via a dedicated pin (SI/WU), as does the
FT2232C/H (SI/WUA, SI/WUB), as does the FT4232H (SI/WUA, SI/WUB, SI/WUC, SI/WUD).
Copyright © 2009-14 Future Technology Devices International Limited
11
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
FT8U245AM does not have support for remote wake up. To use the remote wake-up capability,
enable this option by checking the box.
Pull Down IO Pins in USB Suspend:


The BM and C devices feature a Power Control Pin (PWREN#). This pin can be used to control power
to external peripheral circuitry via a P-Channel MOSFET.
When used in this way, select this option to minimize the USB suspend current, otherwise leave this
option unselected. See the product data sheets, application schematics and designers guides for
more details.
5.4 USB_String_Descriptors
Details of the USB device manufacture /product Description/USB Serial number can be set in the
USB_String_Descriptors.
Manufacture/product Description:
The Product and Manufacturer Description Strings in the fields allow customization of the manufacturer
and product description strings the device uses.


Manufacturer: the product manufacturer string e.g. "FTDI" - best kept short and abbreviated if
possible.
Product Description: a brief description of the product, maybe including the part number e.g. "USB
<->Serial Converter"
USB Serial Number:
USB products have the ability to embed a unique serial number for each product into the low level
descriptors that are accessed by the host controller drivers when the product is plugged into the USB
bus. In turn, the serial number of a product can be used to identify the product. The device serial number
can be set through the USB Serial Number Control panel.
These consist of a 2 letter prefix (e.g. FT) followed by 6 alphanumeric digits generated using an algorithm
based on the date and time of programming the device. It is also possible to fix the serial number to a
fixed 8-digit alphanumeric string; however we do not recommend this as systems will only recognize the
first instance of such a device connected to a PC.
Note that the maximum length of descriptors varies across the range of chips but is typically
40 to 50 characters. The descriptors include the manufacturer, product description and serial
number.
Copyright © 2009-14 Future Technology Devices International Limited
12
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.5 FT232R Hardware_Specific
Additional features available on the FT232R device allow RS232 signals to be inverted and the
CBUS pins to be configured through combo-boxes.
The FT232R supports High Current IOs. Setting this option will enable the high output drive level. The
UART IO pins will drive out at 12mA instead of their normal 4mA.
The FT232R has an internal Oscillator, but it is also possible to select “Use External Oscillator” to use an
external oscillator.
Please Note: if “Use External Oscillator” is selected and the hardware design does not have an
external oscillator connected, then the FT232R will be rendered useless.
Copyright © 2009-14 Future Technology Devices International Limited
13
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.6 FT245R Hardware_Specific
Unlike the FT232R, the FT245R does not allow inverting of signals or configuration of the CBUS pins as
they are all required for normal FIFO operation.
The FT245R has internal Oscillator, but it is also possible to select “Use External Oscillator” to use
external oscillator.
Please Note: if “Use External Oscillator” is selected and the hardware design does not have an
external oscillator connected, then the FT245R will be rendered useless.
Copyright © 2009-14 Future Technology Devices International Limited
14
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.7 FT2232D Hardware_Specific
The FT2232D device incorporates all of the BM specific features, but with an additional "CPU FIFO" option
made available.





Each channel can be independently configured as FT232BM-style USB UART or a FT245BM style USB
FIFO.
Each channel can be individually configured in CPU FIFO mode.
Each channel can also be individually configured in Fast Opto-Isolated Serial Interface mode. See
the FT2232D device datasheet (available from the Datasheets page of the FTDI website) for more
information on these modes.
High Current I/O's. Setting this option will enable the high output drive level. The UART/FIFO IO
pins will drive out at 12mA instead of their normal 4mA.
The driver that is installed and used by each channel can be set by selecting Virtual COM Port or
D2XX Direct option.
Copyright © 2009-14 Future Technology Devices International Limited
15
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.8 FT2232H Hardware_Specific
The FT2232H function is similar to the FT2232D. The FT2232H device incorporates all of the BM devices
options section and all of the FT2232D Device Options, but with an additional "CPU FIFO" option made
available.

Each channel can be independently configured as FT232BM-style USB UART or a FT245BM style USB
FIFO.

Each channel can be individually configured in CPU FIFO mode.

Each channel can also be individually configured in Fast Opto-Isolated Serial Interface mode. See
the FT2232H device datasheet (available from the Datasheets page of the FTDI website) for more
information on these modes.

The driver that is installed and used by each channel can be set by selecting Virtual COM Port or
D2XX Direct option.


The slow slew function can be selected for slower output driver.
The Schmitt Input function can be enabled if the user needs to implement Schmitt trigger function
to input pins.
The IO pin driving capability can also be modified; the current range is 4mA to 16mA.

Copyright © 2009-14 Future Technology Devices International Limited
16
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106

The FT2232H’s Pin59 (POWERSAV#) is USB Power Save input. This is an EEPROM configurable
option used when the FT2232H is used in a self powered mode and is used to prevent forcing
current down the USB lines when the host or hub is powered off.
PWRSAV# = 1 : Normal Operation
PWRSAV# = 0 : FT2232H forced into SUSPEND mode..
Copyright © 2009-14 Future Technology Devices International Limited
17
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.9 FT4232H Hardware_Specific
The FT4232H function is similar to the FT2232H. The FT4232H device incorporates all of the BM devices
option sections and all of the FT2232H Device Options.

Each channel can be independently configured as FT232BM-style USB UART.

Each channel can also be individually configured in synchronous or asynchronous bit-bang mode.
See the FT4232H device datasheet (available from the Datasheets page of the FTDI website) for
more information on these modes.

The driver that is installed and used by each channel can be set by selecting Virtual COM Port or
D2XX Direct option.


The slow slew function can be selected for slower output driver.
The Schmitt Input function can be enabled if user needs to implement Schmitt trigger function to
input pins.
The IO pin driving capability can also be set; the current range is 4mA to 16mA.

Copyright © 2009-14 Future Technology Devices International Limited
18
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.10 FT232H Hardware_Specific
The FT232H can be configured in one of 5 modes: as a RS232 UART, 245 FIFO, CPU FIFO, OPTO Isolate
or the new FT1248. Please refer to the device datasheet for details of the different configurations.
FT1248 settings can be configured in the EEPROM, the following options are available:
CBus I/O pins can be controlled through the EEPROM, more details are available in the datasheet.
Copyright © 2009-14 Future Technology Devices International Limited
19
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
As with other FTDI devices the slew rate, Schmitt trigger and drive strength can be configured in the
EEPROM.
Copyright © 2009-14 Future Technology Devices International Limited
20
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
5.11 FT4222H Hardware Specific
This device contains SPI, I2C and GPIO configurable interfaces. The SPI interface can be configured as
master mode with single, dual and quad bits data width transfer, or slave mode with single bit data width
transfer. The I2C interface can be configured in master or slave mode.
Slaves on an I2C bus must have unique addresses, and this
may be configured here for the FT4222H.
Electrical characteristics such as slew rate, drive current
and enabling of pull-up/down resistors may be configured
for SPI and GPIO modes.
The FT4222H’s output signal to indicate detection of a
Battery Charger on the USB port may also be configured
here
Copyright © 2009-14 Future Technology Devices International Limited
21
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
6
Program Mode Function
To enter program mode the user must first scan for FTDI devices connected to the host PC [see section
6.1]. The program mode functions of FT_Prog can then be accessed through the toolbar or by right
clicking on a device within the “Device Tree”.
Program mode allows the user to:

Erase device EEPROM contents

Apply templates to connected devices

Program device EEPROM contents
6.1 Scan for Devices
To scan the USB bus for available connected FTDI devices, click on the "Scan and Parse" button on the
toolbar.
Alternatively, select “Scan and Parse” from the “Devices” menu.
Upon successful completion of the operation any connected devices will be displayed within the “Device
Tree” window, as shown below.
Copyright © 2009-14 Future Technology Devices International Limited
22
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
6.2 Erase Existing Devices
There are two ways to erase the EEPROM of connected devices.
To erase the contents of a single connected device the user can right-click on the desired device within
the “Device Tree” and select “Erase Device” from the menu.
Alternatively, to erase the EEPROM of multiple devices, the user can press the program button within the
toolbar or “Devices” menu.
The “Program Devices” window [as below] will appear; this will allow the user to select multiple devices
from the “Device List” on the left hand side of the window and then erase the EEPROM by pressing the
“Erase” button at the bottom right of the window.
Copyright © 2009-14 Future Technology Devices International Limited
23
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
After the operation has been carried out successfully the contents of the device EEPROM will be as below:
Note: It is not possible to erase the contents of the FT232R and FT245R chips EEPROM.
6.3 Use an Existing EEPROM Template
Templates can be applied to connected devices to modify the contents of their EEPROM.
Any templates that are currently open are displayed within the “Device Tree” window. To apply these to
a device: right-click the required device within the “Device Tree”; select “Apply Template” from the
menu (any templates that are currently open will be displayed within this list). Select the required
template and the settings stored within this template will be applied to the selected device.
Copyright © 2009-14 Future Technology Devices International Limited
24
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
To apply a template that is not currently open within the application: right-click on the required device
and select “Apply Template”, “From File”. This will open a file browser allowing the user to browse to the
required file.
Copyright © 2009-14 Future Technology Devices International Limited
25
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
When the EEPROM settings are complete, the next step is to program the device; follow the steps in
section 6.4 to complete the process.
Note: It is not possible to apply templates to devices where the chip type of both the device
and template do not match. For example, if a template for a FT2232H device is open and the
currently connected device is an FT245R the application will not allow the user to apply this
template.
Copyright © 2009-14 Future Technology Devices International Limited
26
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
6.4 Program Existing Devices
Click on the "Program Devices" button within the toolbar.
The “Program Devices” GUI will be displayed [as below]:
From this interface, select the required devices from the “Device List” on the left of the window.
If the "Only Program Blank Devices" box is checked, FT_Prog will select any blank devices within the
“Device List” window.
To program the selected devices press “Program” on the bottom right of the window.
Copyright © 2009-14 Future Technology Devices International Limited
27
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Alternatively to program individual devices, right-click on the required device within the “Device Tree”
and select “Program Device” from the context menu.
Copyright © 2009-14 Future Technology Devices International Limited
28
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
6.5 Cycle Port
The "Cycle Port" button can be used to re-enumerate a device on USB after the EEPROM has been
reprogrammed. This is useful because the device only reads the EEPROM when it is enumerated on USB,
so it forces the device to use the new EEPROM contents.
Copyright © 2009-14 Future Technology Devices International Limited
29
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
7
Command Line Programming
Click on the "Launch Command Line Application" button on the toolbar.
This will launch the FT_Prog command line
There are 6 commands:

SCAN Searches for any devices connected to the host PC.

PROG Programs an EEPROM template into the selected device(s).

ERAS Erases the EEPROM of the selected device.

CYCL Cycles the device port, re-enumerating the device. Equivalent to an un-plug re-plug.

HELP Provides information on a command.

EXIT Closes the application.
Help command:
Type HELP and press “ENTER”. This will display the command line list.
Copyright © 2009-14 Future Technology Devices International Limited
30
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Type ’HELP SCAN’, ’HELP PROG’, ’HELP ERAS’ or ‘HELP CYCL’ and this will display the required format of
the associated command.
PROG format:
PROG [device number 0],[device number 1], …… [template file location]
PROG 0,1,3,5 C:\Documents and Settings\template.xml
The ‘*’ symbol can be used to denote all devices connected
PROG * C:\Documents and Settings\template.xml
ERAS format:
ERAS [device number 0], [device number 1], …….
ERAS 0,1,3
The ‘*’ symbol can be used to denote all devices connected
CYCL format:
CYCL [device number 0], [device number 1] , …….
CYCL 0,1,3
The ‘*’ symbol can be used to denote all devices connected
Program procedure:
Copyright © 2009-14 Future Technology Devices International Limited
31
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Use the SCAN Command to determine what FTDI devices are connected to the USB interface FTDI
Device.
The example below shows the response when a Device 0 ’FT_DEVICE_232R’ is connected to USB.
Use the PROG command to program device 0
The command format is as follows:
PROG 0 C:\UC232R.xml
Copyright © 2009-14 Future Technology Devices International Limited
32
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
The example below shows device 0 programmed successfully using this command. This command uses
an .xml file to program the device. The xml files can be created using the FT_Prog GUI as highlighted in
section 4.1 or by hand using any text editor (an example of this is shown below.) It is highly
recommend that the FT_Prog application is used to create templates. If the contents of the
template are incorrect and this template is used to program a device, then the content of the
EEPROM may be corrupted.
Copyright © 2009-14 Future Technology Devices International Limited
33
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
7.1 Batch File Programming
It is possible to create Batch (bat) files that can help to automate the process of programming the
EEPROM on multiple FTDI devices. Bat files are simple text documents with the extension .bat that
contain instructions to be processed by the Windows CLI. The following sample will scan for connected
devices, program device 0 and finally cycle all devices to re-enumerate after programming. The bat file
must be placed in the same directory as the FT_Prog-CmdLine utility and the specified xml file must be
accessible by the application.
FT_Prog-CmdLine.exe scan prog 0 Templates\FT232R.xml cycl 0
pause
Copyright © 2009-14 Future Technology Devices International Limited
34
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
8
Vinculum Programmer
FT_Prog can be used to reprogram the Flash memory of the VNC1L-1A and VNC2; it is available as a free
download from the Vinculum website. FT_Prog allows for programming of devices across the UART using
the Windows CDM (D2XX) drivers or via a virtual com port. It can be seen as a replacement for the
VPROG application.
Programming VNC1L example:
Upgrading VNC1L firmware requires a USB to UART cable; this is available from FTDI, part number “TTL232R-3V3”.
Programming requires some hardware connections. These are as follows:







Connect the VNC1L Pin10 (PROG#) to GND.
VNC1L’s GND connect to TTL-232R Pin1 (GND)
VNC1L Pin33 (RTS#) connect to TTL-232R Pin2 (CTS#)
VNC1L’s Power connect to TTL-232R Pin3 (Power)
VNC1L Pin32 (RXD) connect to TTL-232R Pin4 (TXD)
VNC1L Pin31 (TXD) connect to TTL-232R Pin5 (RXD)
VNC1L Pin34 (CTS#) connect to TTL-232R Pin6 (RTS#)
Vinculum programming is under the Flash Rom heading within FT_Prog.
Copyright © 2009-14 Future Technology Devices International Limited
35
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Connect the Vinculum to the host PC and select the required interface. An example of the device box is
shown below.
Choose the “USB<-> Serial Cable”(TTL-232R).
The default Baud Rate for programming a device is 115200 Baud, it is recommended to set the baud rate
to 1MBaud for the VNC1L and 3MBaud for the VNC2 to allow for faster programming.
VNC1L firmware is available as a free download from the Firmware section of the FTDI Website.
VNC2 firmware must first be built using FTDI’s ToolChain. The ToolChain is available from the FTDI
website and comes with VNC1L equivalent firmware in the shape of V2DAP and V2DPS. After building an
application using the ToolChain the resultant ROM file can be programmed into the VNC2. For help with
installing and building firmware using the VNC2 ToolChain please refer to the Getting Started Guide.
Click the open file button and browse to the ROM file that has been downloaded.
Copyright © 2009-14 Future Technology Devices International Limited
36
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Then press the “Program” button to re-flash the VNC1L firmware.
Programming flash:
Verifying data:
When the programming is complete, the following message is displayed:
Copyright © 2009-14 Future Technology Devices International Limited
37
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Programming Vinculum II example:
Programming the VNC2 is very similar to the VNC1L; in this example a V2Eval board is re-programmed
with the V2Dap firmware.
Connect the V2Eval board to the host PC. All connected FTDI devices will appear under the Device dropdown menu. V2Eval boards are setup with the UART as channel A of the FT4232H chip. This should be
selected from the list as shown below.
Evaluation boards allow the device to be put into prog mode using one of the spare channels of the
FT4232H device. The channel used changed between Rev 1 and Rev 2 of the V2Eval board therefore it is
required for the user to select the appropriate board revision from the drop-down menu.
The precompiled ROM file for the V2DAP is available as a download from the FTDI website. Browse to
this file using the open file browser and press program to flash the ROM image onto the VNC2.
Copyright © 2009-14 Future Technology Devices International Limited
38
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
9
Definition of Error Messages
EEPROM mode:

If when clicking “Scan and Parse” to detect devices, the error message windows as per below is
displayed; Check the PC has connected and enumerated the FTDI device correctly.

When programming an EEPROM, a device must be selected. If no device is selected, the error
message below is shown.

When erasing an EEPROM, a device must be selected. If no device is selected, the error message
below is shown.

If the programming doesn’t pass, the error message as per the figure below is displayed. This may
be a consequence of hardware design or solder issues. Check the schematic and the EEPROM part
number fitted. You can refer to FTDI datasheet to check your schematic

The FT232R and FT245R have an internal EEPROM which cannot be erased.
Copyright © 2009-14 Future Technology Devices International Limited
39
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106

The Descriptor Length cannot exceed 48 characters.
Flash ROM mode:

Failed to sync the VNC1L and the cable, please check the hardware connection.
Command line mode:

System cannot find “Device 0” Use the SCAN command and confirm the device number.

If the “Failed to write to the EEPROM” error message is displayed, check the cable connection is
stable, then try to program this device again. Also, check that the device and the template chip
types match.

Check the device and template chip type match.
Copyright © 2009-14 Future Technology Devices International Limited
40
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106

The FT232R and FT245R chip cannot be erased.
Copyright © 2009-14 Future Technology Devices International Limited
41
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
10 Contact Information
Head Office – Glasgow, UK
Future Technology Devices International Limited
Unit 1, 2 Seaward Place, Centurion Business Park
Glasgow G41 1HH
United Kingdom
Tel: +44 (0) 141 429 2777
Fax: +44 (0) 141 429 2758
E-mail (Sales)
E-mail (Support)
E-mail (General Enquiries)
sales1@ftdichip.com
support1@ftdichip.com
admin1@ftdichip.com
Branch Office – Tigard, Oregon, USA
Future Technology Devices International Limited
(USA)
7130 SW Fir Loop
Tigard, OR 97223
USA
Tel: +1 (503) 547 0988
Fax: +1 (503) 547 0987
E-Mail (Sales)
E-Mail (Support)
E-Mail (General Enquiries)
us.sales@ftdichip.com
us.support@ftdichip.com
us.admin@ftdichip.com
Branch Office – Taipei, Taiwan
Future Technology Devices International Limited
(Taiwan)
2F, No. 516, Sec. 1, NeiHu Road
Taipei 114
Taiwan , R.O.C.
Tel: +886 (0) 2 8791 3570
Fax: +886 (0) 2 8791 3576
E-mail (Sales)
E-mail (Support)
E-mail (General Enquiries)
tw.sales1@ftdichip.com
tw.support1@ftdichip.com
tw.admin1@ftdichip.com
Branch Office – Shanghai, China
Room 1103, No. 666 West Huaihai Road,
Changning District
Shanghai, 200052
China
Tel: +86 21 62351596
Fax: +86 21 62351595
E-mail (Sales)
E-mail (Support)
E-mail (General Enquiries)
cn.sales@ftdichip.com
cn.support@ftdichip.com
cn.admin@ftdichip.com
Web Site
http://ftdichip.com
System and equipment manufacturers and designers are responsible to ensure that their systems, and any Future Technology
Devices International Ltd (FTDI) devices incorporated in their systems, meet all applicable safety, regulatory and system-level
performance requirements. All application-related information in this document (including application descriptions, suggested
FTDI devices and other materials) is provided for reference only. While FTDI has taken care to assure it is accurate, this
information is subject to customer confirmation, and FTDI disclaims all liability for system designs and for any applications
assistance provided by FTDI. Use of FTDI devices in life support and/or safety applications is entirely at the user’s risk, and the
user agrees to defend, indemnify and hold harmless FTDI from any and all damages, claims, suits or expense resulting from
such use. This document is subject to change without notice. No freedom to use patents or other intellectual property rights is
implied by the publication of this document. Neither the whole nor any part of the information contained in, or the product
described in this document, may be adapted or reproduced in any material or electronic form without the prior written consent
of the copyright holder. Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park,
Glasgow G41 1HH, United Kingdom. Scotland Registered Company Number: SC136640
Copyright © 2009-14 Future Technology Devices International Limited
42
Document Reference No.: FT_000172
User Guide For FTDI FT_PROG Utility Application Note AN_124
Version 1.5
Clearance No.: FTDI# 106
Appendix A – Revision History
Version 1.0
First release
14/09/09
Version 1.1
Added note about .NET requirement.
21/09/09
Version 1.2
Section 7 updated
04/06/10
Version 1.3
Added reference to the VNC2.
09/09/10
Added Batch file programming section to the cmd line tool.
Version 1.4
Added new section for programming the V2Eval board.
19/08/11
Added reference to the FT232H device specific settings
Version 1.5
Added references for FT4222H
17/11/14
Copyright © 2009-14 Future Technology Devices International Limited
43