How to build secure MCU bootloader for CY8CPROTO-064B0S3?

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

cross mob
pagansjb
Level 2
Level 2
First like given 10 replies posted First like received

Hi,

 

Now, I'm using CY8CPROTO-064B0S3 to emulate our product.

I want to add some features into the bootloader and build it for CY8CPROTO-064B0S3.

However, when I refer to "supported kits" section in "PSoC™ 6 MCU: MCUboot-based basic bootloader" page, CY8CPROTO-064B0S3 seems not to be supported.

Then, is it possible to build for CY8CPROTO-064B0S3 based on mcu-tools/mcuboot.git?

 

Thanks,

 

0 Likes
1 Solution
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @pagansjb,

My apologies, I did not consider that you are using the CY8CPROTO-064B0S3 device. This device I believe has only 512KB of flash which is the reason why SWAP mode is not supported in this device. 

The current upgrade policy supports 2 modes of image upgrade - OVERWRITE and SWAP. The SWAP mode upgrade first completes a test swap of the images where the previous image is stored in the secondary slot until the new image changes the IMAGE_OK flag. However, the overwrite mode performs a permanent swap. Unfortunately, SWAP mode is not supported in 1M and 512K parts. 

I will create an enhancement request to enable the MCUBoot for PSoC 64 devices. Could you please let me know the size of your image to check whether this would be a feasible solution?

Thanks and Regards,
Rakshith M B

View solution in original post

0 Likes
8 Replies
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @pagansjb

PSoC 64 devices are not yet supported in the MCUBoot example. Can you please let me know the features that you are looking for? PSoC 64 already has CySecureBootloader which could help in this case.

Thanks and Regards,
Rakshith M B
0 Likes

Hi @Rakshith 

 

I want to add the recovery sector for user image and manage the sector in the bootloader.

And, also I want to check how anti-rollback mechanism (by using RollBack Counter?) is implemented in the bootloader.

Then, when can I see the source codes and build my own bootloader for PSoC64?

 

Thanks,

pagansjb

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @pagansjb

I believe these features are already supported and can be managed from within the policy file. Please refer to the Secure Boot SDK User Guide. For the recovery image, if the image in the primary slot fails the validation test, the secondary slot image will be used. 

Thanks and Regards,
Rakshith M B
0 Likes

Hi @Rakshith 

Thanks for your answer.

Then, when can I access PSoC 64's codes in MCUBoot? Do you have a plan for it?

 

Thanks,

pagansjb

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @pagansjb

You could enable these features by reconfiguring the policy file. Currently, there is no plan to support PSoC 64 devices in the MCUBoot example. I will create a request so that the internal team can evaluate the same.

Thanks and Regards,
Rakshith M B
0 Likes

Hi, @Rakshith 

Is it possible to add an additional slot for recovery along with primary slot and secondary slot by reconfiguring the policy file? 

And, Is the backup mechanism already enabled in the prebuilt bootloader binary to deal with the abrupt failure while updating the new user image to the primary slot?

Thanks,

pagansjb

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi @pagansjb,

My apologies, I did not consider that you are using the CY8CPROTO-064B0S3 device. This device I believe has only 512KB of flash which is the reason why SWAP mode is not supported in this device. 

The current upgrade policy supports 2 modes of image upgrade - OVERWRITE and SWAP. The SWAP mode upgrade first completes a test swap of the images where the previous image is stored in the secondary slot until the new image changes the IMAGE_OK flag. However, the overwrite mode performs a permanent swap. Unfortunately, SWAP mode is not supported in 1M and 512K parts. 

I will create an enhancement request to enable the MCUBoot for PSoC 64 devices. Could you please let me know the size of your image to check whether this would be a feasible solution?

Thanks and Regards,
Rakshith M B
0 Likes

Hi, @Rakshith 

Currently, I'm not sure what size of my image is.  Could you let me know the maximum?

And, is it possible to add an additional slot for recovery along with primary slot and secondary slot by reconfiguring the policy file? 

Thanks,

pagansjb

 

0 Likes