USBFS Bootloader Datasheet BootLdrUSBFSe V 3.00
001-64851 Rev. *F
USBFS Bootloader
Copyright 2010-2015 Cypress Semiconductor Corporation. All Rights Reserved.
PSoC Blocks API Memory (Bytes)
Pins (per
Resources Digital Analog CT Analog SC Flash RAM External I/O)
CY7C64215, CY8C24794, CY8C24894-24LTXI, CY8C24994, CY8CLED04, CY8CTMA120-100BVXI,
CY8CTMA120-56LFXI, CY8CTMA120-56LTXI, CY8CTMG120-56LFXI, CY8CTMG120-56LTXI, CY8CTST120,
CYRF89235, CY8C24493, CY7C69xxx
HID support 0 0 0 5 871 76 2
Without HID support 0 0 0 5 300 49 2
USB-UART support 0 0 0 6 380 65 2
CY7C643xx, CY8C20396/396A/496/496A-24LQXI, CY8C20646/646A/666/666A-24LTXI, CY8C20xx6AS,
CY8C20XX6L, CY8CTMG200-48LTXI, CY8CTMG201-48LTXI, CY8CTMG200A-48LTXI, CY8CTMG201A-48LTXI,
CY8CTST200-48LTXI, CY8CTST200A-48LTXI, CYONS2000, CYONS2100, CYONS2110, CYONS2010,
CYONSFN2162-LBXC, CYONSTB2010-LBXC
HID support 0 0 0 6 024 84 2
Without HID support 0 0 0 5 450 56 2
Note Expect an expansion of Flash and RAM when adding additional interfaces, HID classes, and other
USB extensions. When the bootloader is in actual operation, it uses a large amount of RAM to
download program data but frees it upon exit. Since operation of the bootloader precludes applica-
tion operation, this RAM requirement is essentially invisible. ROM/Flash usage includes a com-
plete USB interface. Additional code used for the bootloader function is only 2 kilobytes above the
normal requirement of about 1.9 kilobytes of code used by USB itself.
Features and Overview
Flexible memory map
Device reprogramming without engineering tools
Product resident reprogrammability
Communication interface integrated to minimize code overhead
Field deployment of firmware upgrades
USB Full Speed device interface driver
Support for interrupt and control transfer types
Setup wizard for easy and accurate descriptor generation
Runtime support for descriptor set selection
Optional USB string descriptors
Optional USB HID class support
Optional USB-UART (CDC) class support
Cypress Semiconductor Corporation 198 Champion Court San Jose, CA 95134-1709 408-943-2600
Document Number: 001-64851 Rev. *F Revised March 12, 2015USBFS Bootloader
The USB Bootloader User Module implements a bootloader that can reprogram the PSoC device over the
USB interface. The PSoC device already gives an in-system serial programming interface (ISSP) that
allows downloading new code into the device. However, the bootloader allows a code update to occur
through an industry standard communication interface, such as USB. This user module can be useful for
any device that has to be reprogrammed in the field. The bootloading information can be sent through a
Cypress USB Bootloader Host interface.
The USB bootloader supports a fully functional device reprogramming ability with built in error detection
and an industry standard communication interface.
Multiple USB device descriptors are coresident in the system to allow commanding a running device to
self reconfigure and reprogram. Core USB functions are maintained during the reconfiguration to support
host communication, while program data is being transferred and stored. At the end of the reconfiguration
process the device resets itself, verifies the new program, and automatically executes it.
Figure 1. USBFS Bootloader Block Diagram
Quick Start
1. Review this user module datasheet. A successful implementation of a bootloader project requires an
understanding of this information.
2. Add the user module to a project.
3. Place the user module, selecting either a HID, NON-HID, or USB-UART(CDC) class application.
4. Right-click on the user module icon. Select Boot Loader Tools. Select Get Files. When this step is
completed, the boot.tpl, custom.lkp, HTLinkOpts.lkp, and flashsecurity.example files must be in the
project root directory.
Document Number: 001-64851 Rev. *F Page 2 of 72