Build error: OTA Bootloader

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

cross mob
Anonymous
Not applicable

Hi all,

   

We are attempting to add fixed stack OTA bootloader capability to our project which runs on a CYBLE-022001-00. For what it's worth, we have not added an external crystal.

   

I am trying to use the BLE_OTA_FixedStack_Bootloader project and update the BLE component with the component from our project. As written in the app note I am adding the Bootloader service. I noticed the BLE component in the example project uses an HID over GATT profile. Ours is set to "Custom" with Profile role "Service (GATT Server)".

   

The problem is that when I try to build the project, I get an error "pft.M0044: The bootloader requires a bootloader supporting IO component in order to transfer a new application into flash."

   

Does the bootloader component require that the BLE use an HID profile? What else might I be missing? I seem to get this error no matter what I try, and I am following the app note.

   

Thanks!

0 Likes
3 Replies
Anonymous
Not applicable

I believe the issue is that if you replace the BLE component, you need to go over to the Bootloader component and ensure you choose BLE (or whatever you have called the cyBLE component) as the "Communication component".

   

Cheers.

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

-> Connect the BLE dongle and Open Cysmart.

   

-> Press the SW2 of device and enter into bootloader mode

   

-> Start scan in CySMart -> If the device name came in the list. Stop scan and place the cursor above the device name.

   

-> Click on the upgrade firmware button in the CySmart window. load the hex file and try OTA. Let me know it is failing or not.

0 Likes
Anonymous
Not applicable

Hi @bobgoar, I've got it working on a pre-production version of our own custom board (which has no SW2) by altering the bootloadable project to default to the bootloader mode. This way I was able to 'prove the concept' of the bootloader by uploading another bootloadable firmware which does not default to the bootloader, then confirm communications that way. I will be using a command triggered by a characteristic to trigger bootloader. Cheers!

0 Likes