Application Note AN_159 Vinculum-II Firmware Flash Programming Document Reference No.: FT_000358 Version 2.0 Issue Date: 2011-12-08 This document describes three ways to program and update firmware on the Vinculum-II (VNC2) USB host controller. Programming a ROM file via the debugger interface. Programming a ROM file over UART. Re-flashing a ROM file using a flash disc drive. 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. 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 Web Site: http://ftdichip.com Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Table of Contents 1 Introduction .................................................................................................................................... 3 2 IDE Tool Suite .................................................................................................................................. 4 2.1 3 4 5 2.1.1 Debug or Release Build ................................................................................................... 5 2.1.2 Build Completion............................................................................................................. 6 Programming a ROM File via the Debugger Interface .................................................................... 7 3.1 Hardware Requirements ......................................................................................................... 7 3.2 Hardware Example .................................................................................................................. 7 3.3 Procedure – Program Using IDE .............................................................................................. 7 3.4 Procedure – Program using VINPRG.exe ................................................................................ 8 Programming a ROM file over UART............................................................................................. 10 4.1 Hardware Requirements ....................................................................................................... 10 4.2 Hardware Example ................................................................................................................ 10 4.3 Procedure .............................................................................................................................. 10 Re-flashing a ROM File Using a Flash Drive ................................................................................... 12 5.1 Hardware Requirements ....................................................................................................... 12 5.2 Software Requirements ........................................................................................................ 12 5.3 Principles ............................................................................................................................... 12 5.4 Components .......................................................................................................................... 13 5.5 Firmware Update Sample Procedure .................................................................................... 14 5.5.1 Program FirmwareUpdate ............................................................................................ 15 5.5.2 Store User Firmware on USB Memory Stick ................................................................. 15 5.6 6 IDE Tool Suite – Create a ROM file .......................................................................................... 4 Building the Flash Update Into a Custom Design .................................................................. 17 5.6.1 FAT File System ............................................................................................................. 18 5.6.2 Firmware Update Library .............................................................................................. 18 5.6.3 “Hello World” – Firmware Update File Code Example ................................................. 20 5.6.4 “Hello World” Sample – Re-Flash Steps ........................................................................ 21 Contact Information...................................................................................................................... 24 Appendix A – References ...................................................................................................................... 25 1 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Document References....................................................................................................................... 25 Acronyms and Abbreviations ............................................................................................................ 25 Appendix B – List of Figures .................................................................................................................. 26 List of Figures .................................................................................................................................... 26 Appendix C – Revision History .............................................................................................................. 27 2 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 1 Introduction The VNC2 device is a programmable SoC device with a powerful embedded microprocessor core and dual USB host or slave interfaces, large RAM and flash capacity and the ability to develop and customise firmware using the VNC2 Toolchain. This application note describes how to program or re-flash a ROM file into the flash memory of the VNC2 device. VNC2 firmware in a ROM file format can be programmed into the flash of the device by three methods: Programming a ROM file via the VNC2 debugger/programmer moduleinterface. Programming a ROM file over UART. Re-flashing a ROM file using a flash drive. VNC2 devices are produced as blank devices. These blank devices can only be programmed over UART or the debug interface. Re-flashing or upgrading over USB can only be performed after an initial firmware is programmed to the VNC2. VNC2 devices can also be programmed before being assembled in a system using the VPROG1 VNC stand alone programmer – see (www.ftdichip.com) Note: Any sample code provided in this note is for illustration purposes and is not guaranteed or supported. 3 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 2 IDE Tool Suite The Integrated Development Environment (IDE) is FTDI’s Toolchain that allows the user to open and edit sample C programs from FTDI or develop their own C programs. The IDE is used to build or compile the C program into a ROM file. This ROM file is programmed to the flash of the VNC2 device. The IDE is a free download from FTDI web site with sample projects including two Vinculum-I (VNC1L) firmware versions that have been re-written for VNC2 (V2DAP and V2DPS). 2.1 IDE Tool Suite – Create a ROM file C programs can be compiled using the IDE build as shown in Figure 2.1 IDE Build. In this example the V2DAP project is opened from the samples folder and is being built. Full details on opening a C project and building the ROM file are available in the getting started guide found within the IDE help pages (Figure 2.2 IDE Getting Started Guide). Figure 2.1 IDE Build 4 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Figure 2.2 IDE Getting Started Guide 2.1.1 Debug or Release Build The C code can be compiled as either a release or a debug build, the option is a pull down selection in the Build tab as shown is Figure 2.3. If further debug and testing of the code is required it is recommended to select the debug option. After an application has been successfully tested it is recommended to subsequently build the application in Release mode. This will have the effect of reducing the overall ROM file size but will now not allow any further debugging using the IDE. Figure 2.3 Debug or Release Build 5 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 2.1.2 Clearance No.: FTDI# 198 Build Completion On completion of a successful build of the code without errors, the IDE messages window will display: [VinL.exe] : 0 errors, 0 warnings and 0 informational messages The ROM file will be located within either the debug or release folders: e.g. \My Documents\FTDI\Firmware\Samples\1.2.2-SP1\Firmware\VNC1L\V2DAP\Debug 6 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 3 Programming a ROM File via the Debugger Interface The IDE is used to program the VNC2 with a ROM file for the first time (blank device) or to reprogram a previously installed firmware. 3.1 Hardware Requirements There are several options to provide the debug interface: VNC2 debug port as defined in AN_138 Vinculum-II Debug Interface Description o Available on Vinco and V2DIP modules o Included on a customer target design VNC2 Debugger/Programmer Module USB A to mini-B cable Note that the V2-EVAL includes the debug interface that connects directly to the host PC running the VNC2 Toolchain. 3.2 Hardware Example Figure 3.1 shows an example of the V2DIP1-48 module connected to the Debugger/Programmer module. A USB A to Mini-B Cable is then required to connect the debugger/programmer to the PC. Figure 3.1 V2DIP1 connected to the VNC2 Debugger/Programmer Module 3.3 Procedure – Program Using IDE When a ROM file has been successfully generated, as described within section 2.1, it can be programmed into the flash of the VNC2. Connect the Debugger/Programmer module into V2DIP1 module’s debug port. Connect a USB A to Mini-B Cable from the PC to the Mini-B connector on the Debugger/Programmer module. In the IDE Debug tab, the VNC2 that is connected will be shown in the interface area. The “Flash” button can be pressed to start the programming the most recently compiled ROM file. A different ROM file can be selected by clicking the small down-arrow below “Flash”. 7 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Completion of the programming will be display within the messages window. The “Verify” button may be used to check the contents of the flash. This requires Prog_Loader V1.7 or above. If this version of Prog_loader is not in the flash then the message "Cannot verify flash contents! Use latest version of the program loader." will be displayed. Contact support for more information. 3.4 Procedure – Program using VINPRG.exe The ROM file can be programmed to the VNC2 using the command line programming tool – VINPRG.exe. The tool is installed with the IDE setup file and is located at: C:\Program Files\FTDI\Vinculum II Toolchain\Tools\bin\VinPrg.exe Open a command prompt and type vinprg to view the available commands. Perform the vinprg –a command to determine what hardware is connected to the debugger module. In this case, the debug interface is identified as “VII Eval Board B” 8 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Perform the vindprg -d command to program the ROM file. In this example the file C:\pwmbreathe.rom is programmed to the VII Eval Board via channel B. vinprg -d "VII Eval Board B" "C:\pwmbreathe.rom" 9 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 4 Programming a ROM file over UART A blank VNC2 can be programmed over UART using the FTDI utility FT_Prog with a ROM file. FT_Prog can also be use to upgrade previously installed firmware. VNC2 support requires FT_Prog version 1.12 or newer. 4.1 Hardware Requirements VNC2 module or customers designed VNC2 PCB with UART pins connected to a PC via either a TTL232R-3V3 cable or customers designed serial bridge. 4.2 Hardware Example Figure 4.1 is an example where an FTDI TTL-232R-3V3 cable is used to program a V2DIP1 module over UART. To enable the bootloader mode, the PROG# pin must be driven low and VNC2 must then be reset by driving the RESET# pin low then high. The UART connections of the cable are connected to the default UART pins on the module. In this case, a short was made by connecting PROG# to GND prior to applying power to the module. This is shown at the bottom right of Figure 4.1 VCC 6 pin header 0.1in pitch VCC RTS# 6 6 RXD 5 5 TXD 4 VCC 3 GREEN IO15-uart_cts YELLOW IO12-uart_txd 4 FTDI TTL-232R CABLE 1.8m ORANGE IO13-uart_rxd 3 RED CTS# 2 2 GND 1 1 IO14-uart_rts BROWN Gnd BLACK G n d P r o g Figure 4.1 TTL-232R-3V3 Cable to V2DIP1-48 Module via UART 4.3 Procedure FT_Prog is used to program the VNC2 with a ROM file. FT_Prog is available from the FTDI website utilities page (version 1.12 or later supports VNC2). Select the flash ROM tab at the top of the window. Select VNC2 from the pull down tab. Select interface. Select the location where the ROM file resides. Press the program button. Perform a hard reset (power cycle) prior to running the firmware. Figure 4.2 is an example of programming the VNC2 Evaluation board revision 2 with the V2DAP firmware. 10 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Figure 4.2 FT_Prog Programming Utility 11 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 5 Re-flashing a ROM File Using a Flash Drive The VNC2 is distributed as a blank device which can be programmed with an application by the two methods (UART or debug interface) previously described in this document. The VNC2 device can be programmed with re-flasher firmware that allows subsequent application firmware to be upgraded from a USB memory stick. The re-flasher firmware code is separate from the application code and is not overwritten when the application firmware is update. The re-flasher firmware must be programmed into the VNC2 flash over UART or debug interface .This firmware is programmed into an area of flash of the VNC2 that will not be overwritten by the user firmware. To permit the firmware update an application needs to include a Firmware Update library which can read a file from a FAT format disk and instruct the re-flasher firmware to program that into the flash memory of the VNC2. The “FirmwareUpdate” sample in the General sample section provides an example of how to create an application that will find an update file on a USB memory stick and program that into flash. The source code for the application is provided as an example and is neither guaranteed nor supported by FTDI. Currently the only re-flasher firmware is ReflashFATFile.rom which will program an application ROM file from a FAT format disk. 5.1 Hardware Requirements VNC2 module or customers designed PCB with USB Type A connector on a USB channel of the VNC2 chip configured as host. Memory stick / Flash Drive formatted in a supported file system (FAT16 or FAT32) 5.2 Software Requirements VNC2 IDE Command prompt – cmd.exe (In windows select Start – Run cmd.exe) V2Eval Board Terminal Vinprg – included within IDE (C:\Program Files\FTDI\Vinculum II Toolchain\Tools\bin) 5.3 Principles The principle of operation is that the application selects a file on a disk which contains a valid ROM image. The file must be accessible by the FAT file system driver or API and must be opened by the application before it calls the Firmware Update library. The Firmware Update library will validate the ROM file before calling the re-flasher firmware. The re-flasher firmware is stored at the end the flash memory on the VNC2. This essentially forms a second application on the VNC2 which performs the actual update of the flash ROM on the VNC2 and overwrites the main application. The Firmware Update library is called with a handle to a FAT file and the address of the Re-flasher code. There is an option to instruct the reflasher firmware to provide feedback through the UART or a GPIO pin. During a firmware update the re-flasher code can output a dot trail to UART or toggle a GPIO line. A fail will be a constant low GPIO line or an exclamation mark (!) on the UART. A pass will result in the GPIO line set high or a carriage return on UART. 12 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 These options are set when calling the Firmware Update library. The parameters for the feedback options are shown in the FirmwareUpdate.h file. They can be bitwise ORed together to have UART and multiple GPIO pins provide feedback. When complete, the CPU will reset and run the new program. 5.4 Components The Re-flasher code is supplied as both an object file which must be linked to an address that will not be overwritten by the main application, and as a ROM file which is linked to address 0x1c000. The recommended location of the re-flasher firmware is 0x1f000 which is 8kB from the top of flash, leaving 248kB of flash available for the main application. Addresses of data in flash are all word addresses. 0x1FFFF Re- flasher 0x1f000 Free space Application Reserved 0x0000 Figure 5.1 Flash Memory 13 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 5.5 Firmware Update Sample Procedure VINPRG.exe is used to program the Re-flasher ROM code to an area within flash that is not used by the user application. Run VINPRG using command prompt: Firstly detect the debugger interface name using the list all debugger interfaces vinprg –a Use the debugger interface name within the following command: vinprg -o 0x1f000 -d "V2EVAL Board C" "c:\Program Files\FTDI\Vinculum II Toolchain\Firmware\Drivers\images\ReflashFATFile.rom" Parameters: -o 0x1f000 offset to start programming at 0x1f000 -d " V2EVAL Board C " debugger interface description 14 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 5.5.1 Clearance No.: FTDI# 198 Program FirmwareUpdate Open the project FirmwareUpdateApp.vproj located within the samples section of the IDE. Build and program FirmwareUpdateApp.c to the VNC2. 5.5.2 Store User Firmware on USB Memory Stick Select the ROM file to be programmed and put it onto the flash disk and rename it as “FWUPDATE.ROM”. This can be the ROM file of any of the samples, however, if the ROM file for this sample (FirmwareUpdate) is used then the update will run over and over. In 15 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 this example V2DAP.ROM has been renamed FWUPDATE.ROM. Open V2Eval Board Terminal (or similar e.g. TTY, HyperTerminal), and press reset on the board. 16 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 The code will wait at the starting prompt until the USB memory stick is plugged in. During programming, a trail of dots will be sent to the UART interface and (if using a V2EVAL board) LED0 will flash. When programming is complete, a carriage return (“\r”) will be sent to the UART and the LED will be turned off. If an error occurs then an exclamation mark will be sent to the UART and the LED will be set on permanently. After successful programming the VNC2 will be reset and run the updated code. In the example shown the V2DAP prompt can now be observed. 5.6 Building the Flash Update Into a Custom Design A custom design must include two key components in order to allow future flash updates (e.g. updating ROM in the field using the Flash disk). • FAT file system and required libraries, typically BOMS and USBHost. • Firmware Update library These libraries must be included by the App Wizard or by using the Manage Libraries and Manage Headers method. The “Hello World” application example available within the VNC2 IDE was edited to describe an example of building the flash update into a VNC2 project. The “GPIOKitt” application example also found in VNC2 IDE was used as updated project. 17 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 5.6.1 Clearance No.: FTDI# 198 FAT File System The FAT file system must be initialised and able to access the disk where the firmware update ROM file is stored. The stdio library, FAT file system driver or FAT file system API may be used to open the firmware update ROM file in the application before calling the firmware update library. 5.6.2 Firmware Update Library The header file for the firmware update library must be included and the location (in ROM) of the firmware re-flasher noted. The “Hello World” application example was edited as follows: Right click the Project Library window and select manage header files. Select FirmwareUpdate.h and press Add. Right click the Project Library window and select manage libraries. 18 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Select FirmwareUpdateFATfile.a and press Add. Edit HelloWord.c #define REFLASHER_OFFSET 0x1f000 #include "FirmwareUpdate.h" 19 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 5.6.3 Clearance No.: FTDI# 198 “Hello World” – Firmware Update File Code Example Firmware Update File code was added into the “Helloworld.c” file to check a disk for a firmware update. //Global Variables extern rom int userDataArea[4]; unsigned char param1Data[11]; ** ** ** ** Checks a disk for a firmware update file. Parameters: param1: filename of update Returns: none Comments: Checks for BOMS disk and valid FAT file system*/ void diskCheckFwu() { char *strChangeMain = "Change MAIN\r"; unsigned char status; int verFile, verROM; FILE *file; // check for firmware update file: "FTRFBV2.FTD" file = fopen((char *) param1Data, "r"); if (file != NULL) { status = fseek(file, 0x20, SEEK_SET); if (status == 0) { status = fread(&verFile, 4,1, file); if (status == 4) { verROM = userDataArea[0]; verROM |= userDataArea[1] << 8; verROM |= userDataArea[2] << 16; verROM |= userDataArea[3] << 24; if (verFile != verROM) { status = fseek(file, 0, SEEK_SET); status = FirmwareUpdateFATFileFeedback(file, 0x1f000, FIRMWARE_UPDATE_FEEDBACK_UART); } } } fclose(file); } } The function “diskCheckFwu()” was then called from the “firmware ()” function as shown below: char *updateFile = "FTRFBV2.FTD"; vos_memcpy(param1Data, updateFile, 11); diskCheckFwu(); 20 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 5.6.4 Clearance No.: FTDI# 198 “Hello World” Sample – Re-Flash Steps VINPRG.exe is used to program the Re-flasher ROM code to an area within flash that is not used by the user application. Run VINPRG using command prompt: Firstly detect the debugger interface name using the list all debugger interfaces vinprg –a Use the debugger interface name within the following command: vinprg -o 0x1f000 -d "V2EVAL Board C" "c:\Program Files\FTDI\Vinculum II Toolchain\Firmware\Drivers\images\ReflashFATFile.rom" Parameters: -o 0x1f000 offset to start programming at 0x1f000 -d " V2EVAL Board C " debugger interface description 21 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Use the IDE to program “Hello World” application to the chip Choose a ROM file that you want to flash to the VNC2, put it onto the flash disk and rename it as “FTRFBV2.FTD”. In this example GPIOKitt.ROM has been renamed FTRFBV2.FTD Open a COM port terminal program e.g. TTY, HyperTerminal and press reset on the board. In this example the V2-EVAL Terminal Utility was used. The code will wait at the starting prompt until the USB memory stick is plugged in. 22 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 During programming, a trail of dots will be sent to the UART interface and (if using a V2EVAL board) LED0 will flash. A successful update will take approximately 10 to 20 seconds after which activity on the flash disk will cease and the dots will end. The VNC2 CPU will be halted upon completion so a power cycle is required before the new firmware will be activated. 23 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 6 Contact Information Head Office – Glasgow, UK Branch Office – Hillsboro, Oregon, USA 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 Future Technology Devices International Limited (USA) 7235 NW Evergreen Parkway, Suite 600 Hillsboro, OR 97123-5803 USA Tel: +1 (503) 547 0988 Fax: +1 (503) 547 0987 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) [email protected] [email protected] [email protected] E-Mail (Sales) E-Mail (Support) E-Mail (General Enquiries) [email protected] [email protected] [email protected] Branch Office – Taipei, Taiwan Branch Office – Shanghai, China 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 Future Technology Devices International Limited (China) Room 408, 317 Xianxia Road, Shanghai, 200051 China Tel: +86 21 62351596 Fax: +86 21 62351595 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) E-mail (Sales) E-mail (Support) E-mail (General Enquiries) [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] 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 24 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Appendix A – References Document References VNC2 Data sheet Vinculum-II Toolchain Vinculum-II Tool Chain Getting Started Guide V2DIP1-48 Data sheet Vinculum-II Debug Interface Description Migrating Vinculum Designs From VNC1L to VNC2-48L1A Acronyms and Abbreviations Terms Description FAT File allocation Table FT_Prog FTDI Programming application. IDE Integrated Development Environment SoC System on chip USB Universal Serial Bus USB-IF USB Implementers Forum VNC1L Vinculum-I First Generation Embedded Dual USB Host Controller IC VNC2 Vinculum-II Second Generation Embedded Dual USB Host Controller IC 25 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Appendix B – List of Figures List of Figures Figure 2.1 IDE Build ............................................................................................................ 4 Figure 2.2 IDE Getting Started Guide .................................................................................... 5 Figure 2.3 Debug or Release Build ......................................................................................... 5 Figure 3.1 V2DIP1 connected to the VNC2 Debugger/Programmer Module ................................. 7 Figure 4.1 TTL-232R-3V3 Cable to V2DIP1-48 Module via UART .............................................. 10 Figure 4.2 FT_Prog Programming Utility ............................................................................... 11 Figure 5.1 Flash Memory .................................................................................................... 13 26 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Appendix C – Revision History Document Title: AN_159 Vinculum-II Firmware Flash Programming Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Product Page: http://www.ftdichip.com/Products/ICs/VNC2.htm Document Feedback: Send Feedback Revision Changes Date 1.0 Initial Release 2011-02-04 Updated sections 5.4, 5.5 and 5.6. Also added more description to other sections. Added “Hello World” application example demonstrate the reflasher in a custom build 2.0 to 2011-12-08 Edited Figure 5.1 Changed the re-flasher 0x1c000 to 0x1f000. firmware location from Updated format to new template. 27 Copyright © 2011 Future Technology Devices International Limited Application Note AN_159 Vinculum-II Firmware Flash Programming Version 2.0 Document Reference No.: FT_000358 Clearance No.: FTDI# 198 Revision Record Sheet Authors Gavin Moore Filename AN_159_Vinculum-II_Firmware_Flash_Programming.docx Revision Date Details 1.0 2011-02-04 Initial Release 2.0 2011-10-14 Updated to new template Sign Off Signatory Signature Date Managing Director Principal Hardware Engineer Principal Software Engineer Senior Marketing Manager Sales Manager Clearance Approval (Please delete unnecessary conditions upon purposes!) - This Document is cleared for Future Technology Devices International use and unrestricted circulation. FTDI# 198 Clearance Number (Where applicable for external communications) 28 Copyright © 2011 Future Technology Devices International Limited