Simplifying System IntegrationTM 73S1215F, 73S1217F Device Firmware Upgrade Host Driver/Application Development User’s Guide April 27, 2009 Rev. 1.
73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide UG_12xxF_029 © 2009 Teridian Semiconductor Corporation. All rights reserved. Teridian Semiconductor Corporation is a registered trademark of Teridian Semiconductor Corporation. Simplifying System Integration is a trademark of Teridian Semiconductor Corporation. Microsoft is a registered trademark of Microsoft Corporation. Windows XP is a registered trademark of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds.
UG_12xxF_029 73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide Table of Contents 1 Firmware Upgrade Architecture ........................................................................................................ 5 2 DFU – Phases of Operation................................................................................................................ 6 2.1 Enumeration Phase ......................................................................................................
73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide UG_12xxF_029 Figures Figure 1: DFU and CCID Class Interface Architecture ................................................................................. 5 4 Rev. 1.
UG_12xxF_029 73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide 1 Firmware Upgrade Architecture This document describes the Teridian USB (DFU class) Interface. Figure 1 shows the flow of this architecture. The firmware architecture in this document is a single-threaded C program using the API services as detailed in the 73S12xxF Smart Card Terminal Controller Family Software User’s Guide. The software is compiled and linked using the Keil µVision3 development software.
73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide UG_12xxF_029 2 DFU – Phases of Operation The USB Device Firmware Upgrade Specification Revision 1.1 identified four distinctive phases of operation: 1. 2. 3. 4. Enumeration Phase Reconfiguration Phase Transfer Phase Manifestation Phase This user guide describes the IOCTLs as supported by Teridian’s CCID-DFU driver and DFU driver. 2.
UG_12xxF_029 2.2.2 73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide Attaching the DFU Class Device Upon receiving escape command or dfu_detach, firmware boots up in DFU mode. This time USB-DFU driver (TSCDFU.sys) will be loaded by operating system (if driver is already installed, otherwise a new hardware found wizard will pop up by Windows). See the 73S1215F, 73S1217F Windows XP 32 USB CCID and DFU Drivers Installation Guide on how to install drivers. USB-DFU driver (TSCDFU.
73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide 2.3.3 UG_12xxF_029 DFU Clear Status Request IOCTL : IOCTL_DFUTSC_DFU_CLRSTATUS IN : not required OUT : not required RETURN: NTSTATUS Supported driver : tscdfu.sys SCARD_CTL_CODE(2104) Any time the firmware detects an error and reports an error status to the host in the response to a DFU_GETSTATUS request, it enters dfuERROR state. The firmware cannot by itself transition from the dfuERROR state.
UG_12xxF_029 73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide 3 Miscellaneous Features 3.1 Boot Loader and CCID Application Firmware Version Number #define IOCTL_DFU_GET_BLFW_VER IN : not required OUT : output buffer length (size 4 bytes) OUT : output buffer (of 4 bytes) RETURN: NTSTATUS Supported driver : ccidDFUtsc.sys, tscdfu.sys SCARD_CTL_CODE(3501) The USB-CCID driver ccidDFUtsc.sys provides one IO control call IOCTL_DFU_GET_BLFW_VER to the upper layer application program.
73S1215, 73S1217F DFU Host Driver/Application Development User’s Guide UG_12xxF_029 Revision History Revision 1.00 10 Date 4/27/2009 Description First publication. Rev. 1.