Bootloading is one of the basic features that a microcontroller architecture is expected to have. Bootloading is a process by which you can upgrade a device firmware in field via standard communication protocols such I2C,SPI, USB and CAN. USB is one of the preferred protocols to bootload PSoC devices due to its robustness and omnipresence. Moreover PSoC3 bootloader is implemented using the standard USB HID interface. Most of the embedded host which has USB Host capability come with HID driver. The support for HID devices available in most operating systems is even more encouraging having a USB HID based solution.
AN73503 USB HID Bootloader provides a complete USB HID Bootloader solution for PSoC3 and PSoC5. The App Note explains,
Procedure to create a USB Bootloader project
Procedure to create a USB Bootloadable project
Create your own Graphical User Interface (GUI) to Bootload via USB
Each of the above is explained with a working example. A precompiled stand alone GUI is also available with the application note that can be used to perform Bootloading. This App Note can be used as a starting point to develop your own USB Bootloader GUI and add additional features as desired.