3 Replies Latest reply on May 25, 2016 10:54 AM by userc_39179

    Build error: OTA Bootloader

      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.



        • 1. Re: Build error: OTA Bootloader

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



          • 2. Re: Build error: OTA Bootloader

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

            • 3. Re: Build error: OTA Bootloader

              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!