7 Replies Latest reply on Aug 18, 2017 3:06 PM by roy.thomas

    Problem using EM_EEPROM with BOOTLOADER and Cy8ckit_049

    roy.thomas

      I have a major problem with a design in which I am trying to use the example EM_EEPROM component from the pioneer kit to store a few strings in flash on a Cy8ckit-049 platform.  I ported the the quite simple EM_EEPROM example project from the pioneer over to the 049 and intergrated with the 049 bootloadable blinking led project.

         

      The problem is if I don't REMARK OUT -->status = Em_EEPROM_1_Write(array,eepromArray,14u);  , the app breaks.

         

      Normally the 049 runs the BOOTLOADER at power-up.  If the switch is not pressed within a short time, control passes to the other project (the main bootloadable app).  The problem that occurs is as long as we leave the above listed WRITE active the 2nd boot-up causes the BOOTLOADER to always go active, ie flash and wait for bootloaderhost to start bootload sequence and we can never pass control to the main bootloadable app.

         

      Ie, on first boot, the above EM_EEPROM write occurs and modifies flash string, but then on 2nd boot we stick in the bootloader from that time forward on all boots. 

         

      It's like some mechanism is noticing that the cksum has changed and then forces the control to somehow stay in the bootloader. 

         

      If you can imagine what is happening here I would greatly appreciated it.

         

      I have also attached the creator 3.3 bundle with notes at the top of the main.c describing the recreated problem.