Datasheet
I2C Bootloader
Document Number: 001-13258 Rev. *J Page 17 of 39
ENTER_BOOTLOADER
Description:
Routine to completely setup the bootloader and prepare to download a new application program. After
this routine is called, it does not return unless a timeout or reset occurs.
The GenericBootloaderEntry function name is always located at the same physical ROM address, so
that an application compiled at a later date can still use this function call to enter the bootloader. All
three of these routines represent the same address vector. The vector “GenericBootloaderEntry" is
given so that there is an entry point that does not vary when the instance name of the user module is
changed.
C Prototype:
void ENTER_BOOTLOADER(void);
Other API function names can be invoked using the names indicated earlier.
Assembler:
lcall ENTER_BOOTLOADER
Parameters:
None
Return Value:
None
Side Effects:
The A and X registers may be modified by this or future implementations of this function. This is true
for all RAM page pointer registers in the Large Memory Model (CY8C29xxx). When necessary, it is
the calling function's responsibility to preserve the values across calls to fastcall16 functions.
BL_SetTemp
Description:
This function is used to dynamically update the bootloader with the latest die temperature measure-
ment. In this case, the application obtains a die temperature measurement and passes it to the boot-
loader using this function. Then, when a bootload event occurs, the bootloader programs the flash
optimally based on the temperature passed to it using this function.
It is recommended that you periodically measure (or otherwise determine) the device's die tempera-
ture during run time. Every time the die temperature is measured, it should be passed to the boot-
loader using this function. The bootloader uses the die temperature passed to it to optimally vary the
flash programming erase and write periods during a bootload. This optimizes the flash's retention and
endurance. As a result, the time it takes to execute a bootload varies depending on the temperature
value passed to the bootloader.
The die temperature can be measured using a user module that measures the device's on-chip
temperature sensor. Or, by reading or measuring the temperature from some other external device or
temperature sensor.
This function rewrites the Die Temperature value that is set by the
"Flash_Program_Temperature_Deg_C" user module parameter.