Datasheet

I2C Bootloader
Document Number: 001-13258 Rev. *J Page 4 of 39
Theory of Operation
Creating a project with a bootloader requires several nonstandard modifications to the PSoC Designer
standard model. To facilitate this, the BootLdrI2C User Module gives customized files and specialized
tools to assist you in bootloader project development. The special tools are accessed by switching to the
Device Editor view and right-clicking the BootLdrI2C User Module icon. In addition to the tools and files
given as part of the user module, a host application example is given as part of the user module
installation that can demonstrate the basic capability of the bootloader. This PC-based application and
source code for Microsoft Visual Studio
®
2005 is contained in a .zip file in the installation directory of PSoC
Programmer 3:
[Install path]\Cypress\Programmer\3.xx\Bootloaders\BootLdrI2C\BootLoaderHostApp\…
Figure 2. Bootloader Memory Organization
Overview
PSoC Designer uses standardized files, built-in data about the part family, and attributes of specific
devices to create compilable projects and correct API definitions. A project with a bootloader requires a
memory map that is considerably different from that of a standard PSoC Designer project. Selection of the
memory areas represents a core design decision that is maintained throughout the life of the design. While
a project without the requirements of a bootloader simply allows the compiler and linker to allocate RAM
and ROM, a bootloader must group RAM and ROM in specific areas so that the program does not crash
while a new application is being loaded.
In the memory layout, there are six key areas of ROM that are managed: