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

PSoC™ 4

Level 2
10 replies posted 10 sign-ins 5 replies posted
Level 2

I'm a beginner, and I've been assigned a project to enable an OTA FW update for PSOC 4 BLE boards via an iOS app.  There are two different boards shipped with two different PSOC 4 BLE  parts on them: CYBLE-224116-01 and CYBLE-224110-00.  The present FW on the units is not equipped with functions to read the the PSOC part IDs to differentiate them during flashing.   The test units I have do not have recovery pins exposed, so flashing FW compiled for the wrong part could brick the unit.  I need confirm the bricking behavior. Will the unit become inoperable without recovery or will the FW flash simply fail due to a check in the flashing code and leave the running FW in place?  If its the second one, I can simply retry with a FW file for the other unit since there are only two possibilities.

1 Solution
Moderator First comment on blog 750 replies posted 500 replies posted


I have tested in IOS Device and seen the same error as Silicon ID and Silicon Rev does not match as shown in attached image. 

When a bootloadable project is built, .cyacd is generated. This file contains a header followed by lines of flash data.
The header of this file has the following format:
[4 bytes Silicon ID] [1 byte Silicon rev] [1 byte checksum type].

The Host will check whether the Silicon ID and Silicon Rev received from the bootloader are same as those contained in the bootloadable file.

If possible, could you please share the .cyacd files and bootloader projects ?


P Yugandhar.

View solution in original post

3 Replies