Question: How do I make the PSoC® Creator™ 3.0 Bootloader Component work with a PSoC 4 device with less than 32K flash?
A defect exists in PSoC Creator 3.0 that causes the bootloader to halt and stop working in any PSoC 4 part with less than 32K flash. The defect is fixed in the latest PSoC Creator 3.0 SP1, which can be downloaded from www.cypress.com/PSoCCreator.
Note that the file cydevice_trm.h may be automatically regenerated after a build, which will overwrite the change. So after building your bootloader project, you may have to modify the file again and rebuild.
A workaround exists. After the bootloader project is built, go to the PSoC Creator Workspace Explorer window, navigate to the folder Generated Source > PSoC 4, open the file cydevice_trm.h, and change
#define CYDEV_FLASH_SIZE 0x00008000u
to one of the following:
#define CYDEV_FLASH_SIZE 0x00004000u
#define CYDEV_FLASH_SIZE 0x00002000u
You must change the CYDEV_FLASH_SIZE macro definition to 0x00004000u for devices with 16K flash and 0x00002000u for devices with 8K flash.
After making the change, rebuild the bootloader and all associated bootloadable projects.