AN86526 describes an I2C-based bootloader for PSoC® 4. In this application note, you will learn how to use PSoC Creator™ to quickly and easily build an I2C-based bootloader project and bootloadable project. You will also see how to build an I2C-based embedded bootloader host program.
Introduction
Bootloaders are a common part of MCU system design. A bootloader makes it possible for a product’s firmware to be updated in the field. At the factory, initial programming of firmware into a product is typically done through the MCU's Joint Test Action Group (JTAG) or ARM® serial wire debug (SWD) interface. However, these interfaces are usually not accessible in the field.
This is where bootloading comes in. Bootloading is a process that allows you to upgrade your system firmware over a standard communication interface such as USB, I2C, UART, or SPI. A bootloader communicates with a host to get new application code or data and writes it into the device's flash memory.
The following table indicates the PSoC devices, PSoC Creator versions, compilers, and development kits that will work with this application note project:
Project |
Device
|
PSoC Creator
Version |
Development Kit
CY8CKIT-xxx |
Compiler
|
||||||
Architecture
|
Silicon
Revision |
V3.0 SP2 or higher |
V3.0 or
lower |
001
DVK |
Keil
|
GCC
|
MDK
|
RVDS
|
||
AN86526.zip |
Prod
|
YES
|
NO
|
YES
|
NO
|
NO
|
YES
|
YES
|
YES
|