Problem BLE Upgradable Stack

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

cross mob
LuDi_2288466
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

Hello,

I am using CYBLE-212020-01 modules which sends and receives some values over BLE from App.

I use Over-the -Air (OTA) firmware update.

The workspace encloses three projects functions are as follows:

1. Launcher project

The purpose of the project is to:

- Start either the Stack or Application project image

- Copy the Stack project image from a temporary location to the persistent location (just after the Launcher project image).

2. Stack project (contains the BLE Stack)

The purpose of the project is to:

- Host the BLE Stack

-  Upgrade the Application project image

-  Upgrade the Stack project image itself

-  Receive updates for the Stack project image itself or for the Application project image

3. Custom Apllication Project

The Stack project is the bootloader.

The problem raise when I update firmware only with wrong apllication build with a different stack. After the update the firmware is lock in the launcher project and I can't put the system in bootloader state. How I can fix this? How I put the firmware in bootloader state when the application is wrong in order to correctly update the correct application and the correct stack?

Thanks in advance for any replies.

Lucia

0 Likes
1 Solution

Stack application and user application images are upgradable over BLE. Whereas, launcher project is not upgradable. Please note that to update launcher project, user needs to perform programming.

User application project uses BLE stack from stack project. So, user needs to update both stack and user application images after updating BLE component. In your case, which are the components updated in the stack and user application projects?

Bootloader performs validation of next project to be loaded. It seems that validation fails at your end. You can refer to section: ‘Launcher/Combined Application Project Functions’ in bootloader component datasheet to understand the flow. I tried to upgrade all components in Upgradable stack OTA code example projects (launcher, stack and user application) in PSoC Creator 4.2 including BLE. Bootloading the user application bootloading fails at my end. Whereas, if I upgrade all components except BLE, the user application upgrade is successful and control is passed to user application project.

View solution in original post

0 Likes
3 Replies
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Please let us know the status of OTA Bootloading, was it successful? What is the flash consumption of correct and wrong stack and user application projects? Could you also share the projects and steps to recreate the issue at our end?

0 Likes

Hello,

Thanks for your reply.

The stastus of OTA Bootloading was successful. I update firmware only application.

The following procedure created the issue :

  1. I updated components in Top Design for all three projects ( stack, launcher and application)
  2. Then I build all three projects
  3. I used myApplication.cyacd to update only Application with App CySmart, I didn't to update Stack with file myStack.cyacd
  4. The update of application was succefull.
  5. After the update the firmware is lock in the launcher project and I can't put the system in bootloader state.

How I can fix this? How I put the firmware in bootloader state when the application is wrong in order to correctly update the correct application and the correct stack?

Thanks in advance for any replies.

Lucia

0 Likes

Stack application and user application images are upgradable over BLE. Whereas, launcher project is not upgradable. Please note that to update launcher project, user needs to perform programming.

User application project uses BLE stack from stack project. So, user needs to update both stack and user application images after updating BLE component. In your case, which are the components updated in the stack and user application projects?

Bootloader performs validation of next project to be loaded. It seems that validation fails at your end. You can refer to section: ‘Launcher/Combined Application Project Functions’ in bootloader component datasheet to understand the flow. I tried to upgrade all components in Upgradable stack OTA code example projects (launcher, stack and user application) in PSoC Creator 4.2 including BLE. Bootloading the user application bootloading fails at my end. Whereas, if I upgrade all components except BLE, the user application upgrade is successful and control is passed to user application project.

0 Likes