Workaround for PSoC 6 MCU Device ILO Start Failure in PSoC Creator 4.2 – KBA229046

Version 3

    Author: WangS_81           Version: **

     

    It’s feasible to short VBACKUP to VDDD for the PSoC® 6 MCU device with the BACKUP domain if the dedicated supply for VBACKUP is not necessary. However, in some customer applications, the device may not start upon POR, XRES, or BOD events, which may be causeed by a slow VDDD/XRES/VBACKUP ramp down during the events, and not fully discharging before power on.

    The root cause of this issue is that the ILO fails to start. The slow ramp down on VDDD/XRES and incomplete discharge on power rail cause the key cell of BACKUP domain reset corrupted, which affect the ILO start process. If the discharge could not be conducted fully under board hardware restrictions, you may have to manually disable and enable the ILO in firmware to perform a normal ILO start process.

    This issue has already been fixed in ModusToolbox™ 1.1 / ModusToolbox 2.x, but not in PSoC Creator™ 4.2. You can take one of the following workarounds to prevent this issue according to specific application requirements.

    1. Build the target project and navigate to the function Cy_SystemInit() in cyfitter_cfg.c, which is generated automatically by PSoC Creator. Manually add the following code lines which are highlighted, and then rebuild the project WITHOUT CLEAN.

     

    if(0u == Cy_SysLib_GetResetReason()) /* POR, XRES, or BOD */
    {
    Cy_SysLib_ResetBackupDomain();

         Cy_SysClk_IloDisable();
         Cy_SysClk_IloInit();
    }

     

    2. If the ILO is not required to stay enabled for use by the backup domain during XRES, HIBERNATE mode, and through power-related resets like BOD on VDDD/VCCD in the target application, uncheck the ILO “Run in hibernate mode” option in Clocks configuration customizer in PSoC Creator 4.2, as shown below: