“Flash_Program_Temperature_deg_C” user module parameter value is ignored in the (non-CY8C20XX6A) BootLdrI2C UM versions 2.00-2.20, and is never used if the application does not call the BL_SetTemp API function. The actual temperature value that is used in the programming algorithms is always zero degrees, Celsius. What is the problem and how do I make this working?
This problem can have a negative impact on the flash's endurance and/or data retention after a bootload is executed.
There is no negative impact on:
- the flash's performance (endurance and/or retention), if the bootloader has not yet been used to do a bootload operation.
- the flash used by the bootloader code. Only flash that the bootloader erases and writes to is affected by this problem.
- the flash if the checksum verification fails during boot-up and the bootloader then enters bootloader mode. In this case, the proper value from the "Flash_Program_Temperature_Deg_C" user module parameter is used during the bootload, that must subsequently occur.
- Call the "BL_SetTemp()" API function in application code to set the proper temperature value to be used before making any call to the "ENTER_BOOTLOADER()" API function in the application code.
- Or, call the "BL_SetTemp()" API function in application code to set the proper temperature value to be used, before executing a bootload, while communicating with the device using the bootloader I2C address.
The problem has been fixed in the BootLdrI2C user module version 2.30 (in PSoC Designer 5.2).