Datasheet
Vinculum-II Embedded Dual USB Host Controller IC
Version 1.7
Document No.: FT_000138 Clearance No.: FTDI#143
8 Firmware
VNC2 firmware model has evolved considerably since VINC1L. For reasons of code maintainability,
performance, stability and ease of use from the point of view of the customer, VNC2 has a modular
firmware model.
VNC2 firmware can be separatedinto 4 categories:
VNC2 real-time operatingsystem(RTOS).
VNC2 device drivers.
User applications – Toolchain.
Precompiled Firmware.
8.1 RTOS
The VNC2 RTOS (VOS) is a pre-emptive priority-based multi-tasking operating system. VOS has been
developed by FTDI and is available to customers for use in their own VNC2 based systems free of charge.
VOS is supplied as linkable object files.
A full explanation and how to use VOS is available in a separate application note which can be
downloadedfromthe FTDI website.
8.2 Device drivers
To facilitate communication between user applications and the VNC2 hardware peripherals FTDI provides
device drivers which operate with VOS. In addition to the hardware device drivers, FTDI provides
function drivers (available from the FTDI website) which build upon the basic hardware device driver
functionality for a specific purpose. For example, drivers for standard USB device classes may be created
which build upon the USB host hardware driver to implement a BOMS class, CDC, printer class or even a
specific vendor class device driver.
8.3 Firmware – Software Development Toolchain
The VNC2 provides customers with the opportunity to customise the firmware and perform useful tasks
without an external MCU. A Firmware application note is available to download from the FTDI website,
this give further details and operating instructions. The VNC2 Software Development Toolchain consists of
the following components:
Compiler
The compiler will take high-level source code and compile it into object code or direct to
programmable code.
Linker
The linker will take object code and libraries and link the code to produce either libraries or
programmable code. It is designed to be as hardware independent as possible to allow reuse in
future hardware devices.
Debugger
The debugger allows a programmer to test code on the hardware platform using a special
communication channel to the CPU. It is also used to debug code – run, stop, single step,
breakpoints etc.
IDE
All compiler, simulator and debugger functions are integrated into a single application for
programmers. It provides a specialised text editor which is used generally used to develop
application code, debugging and simulation.
66
Copyright © Future Technology Devices International Limited