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.
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 ?