OTA Bootloader metadata randomly zeroed

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,
we are close to release a new product based on the CYBLE-212019 module (ProcBLE), but we are currently observing random erasures (i.e., zeroing) of the metadata used by the bootloader - Upgradable Stack use case.

   

We are of course investigating into the code looking for bugs, but we noticed that the code provided in CyFlash.c to access Flash (or SFlash) does not tweak the IMO for CY_IP_SPCIF_SYNCHRONOUS is not true. We are wondering if this is correct, since all the documentation we found about Flash programming for the target processor states that any Flash operation shall be run with 48MHz IMO (which is eventually restored).

   

It has to be noted that in our application the SFlash may be updated from time to time depending on system operation. Since we don't use bonding, regular Flash is supposed to be written only when updating bootloader's metadata in case of FOTA request.

   

Build system is PSoC Creator 3.3 SP2 and cy_boot version 5.30 is used in the design.

   

Best regards,
Stefano Voulaz

0 Likes
1 Solution
Anonymous
Not applicable

Update

   

Not tried with PSoC Creator 4.0, but we have probably found the culprit: the corruption seems due to a reset during the update of the metadata in FLASH. 

   

P.S.: the clock is not tweaked because it's not required for the processor mounted on the CYBLE-212019.

   

BR
Stefano

View solution in original post

0 Likes
2 Replies
Anonymous
Not applicable

Can you try with PSoC Creator 4.0?

0 Likes
Anonymous
Not applicable

Update

   

Not tried with PSoC Creator 4.0, but we have probably found the culprit: the corruption seems due to a reset during the update of the metadata in FLASH. 

   

P.S.: the clock is not tweaked because it's not required for the processor mounted on the CYBLE-212019.

   

BR
Stefano

0 Likes