Fixed Stack v Upgradeable Stack

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

cross mob
MikeAustin
Level 4
Level 4
25 replies posted 25 sign-ins 10 replies posted

I'm in the process of implementing OTA in some of our existing BLE products.  These are devices that are likely to be out in the field operational for up to 10 years, and I'm guessing early on they'll probably need one or two software upgrades to iron out a few bugs, but beyond that I would think they'll be reasonably stable.

I'm weighing up the pro's and con's of the Fixed Stack v Upgradeable Stack options.  As I understand it, if I want to go with the Upgradeable Stack option I'm most likely going to have to go with a 256KB PSOC IC (we're currently using the CY8C4127LQI-BL473 devices), as most of my devices are using up > 50% of available flash.  Alternatively, I could go with an external memory chip I guess.

If I stick with the Fixed Stack approach, I know I'll not be able to update my stack and add new services, or make modifications to the existing services.  So, I'm limited to only making changes to the Bootloadable code.

What I'm not sure about is the implications of BLE component upgrades within PSOC Creator, and how this will impact my ability to update the firmware on devices already out in the field.  For example, I'm currently coding with the V3.66 BLE component.  If in 2 years time I need to update the firmware on a device OTA, I am assuming as long as I don't make any changes to the Bootloader code (and not update the BLE component for example), then I can just update the bootloadable code and copy across the new firmware to the device and everything should be OK, correct?  So, in theory, as long as V3.66 BLE component remains available, I can continue supporting devices that were originally programmed with a bootloader using that version?

Are there any other issues that I might get caught out by if I go with a Fixed Stack OTA option?

I don't want to upgrade to the 256KB chips unless I really have to, as there is a cost penalty that I'd like to avoid if I can get away with it.

Cheers,

Mike

0 Likes
1 Solution
SudheeshK
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hello,

As long as you do not make any changes to the bootloader project and use same version of BLE component, there won't be any issues update you bootloadable code. There are no other problems.

Thanks and Regards,

Sudheesh

View solution in original post

0 Likes
3 Replies
SudheeshK
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hello,

As long as you do not make any changes to the bootloader project and use same version of BLE component, there won't be any issues update you bootloadable code. There are no other problems.

Thanks and Regards,

Sudheesh

0 Likes

Hi Sudheesh,

Thanks for your reply.

Do I also need to ensure I’m using the same version of PSOC Creator each time I make changes to and compile my Bootloadable code?

e.g. if I use V4.3 to create the Bootloadable code originally, do I need to ensure any updates I make in the future are also done using V4.3?

Thanks and regards,

Mike

0 Likes
SudheeshK
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hello,

There should not be any issues when you build the bootloadable application with a different version of PSoC Creator.

Please make sure you use the same Bootloader project and same version of BLE component while building the bootloadable.

Thanks and Regards,

Sudheesh

0 Likes