OTA with Bootloadable program using BLE - can't get it to work!

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

cross mob
lock attach
Attachments are accessible only for community members.
MikeAustin
Level 4
Level 4
25 replies posted 25 sign-ins 10 replies posted

OK, so I've spent the last week or so trying to get my head around how to implement OTA updating in my code.

I've got a simple LED Blinking program, that currently sets the blink rate based on the value of BLINK_RATE.  I can update this code OTA succesfully.

My next step was to attempt to enable Bluetooth when the LED Blinking code was operating, so that I can utilise a custom service to write a new value for the blink rate and have the code react to that.  Longer term, I was hoping to use a characteristic within my custom service to actually trigger the Bootloader to start (at the moment I'm using the SW2 on the Pioneer board, but my hardware won't have a button for users to press, so I need to be able to do this via BLE)

I've attempted to follow the key elements of the BLE OTA Fixed Stack Bootloadable code example, but whenever I try and make a call to CyBle_Start(AppCallBack) and, subsequently, CyBle_ProcessEvents() in my Bootloadable code (LED Blinker OTA with Custom BLE) then the bootloadable code doesn't actually run.  I can't even get back to the Bootloader code by pressing SW2 - it just seems to lock everything up.

I've tried to work out what the issue is, but its got me stumped.  Can anyone help me get this working?

Cheers,

Mike

0 Likes
1 Solution

Hi Mike,

Can you please new a new loadable application for your device from the scratch using the files I have sent? You can use main.c and other files from my application.

Please folow the steps mentioned in section 5.3 of the following application note and let me know if you still face the issue.

https://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota...

Thanks and regards

Ganesh

View solution in original post

0 Likes
4 Replies
lock attach
Attachments are accessible only for community members.
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello Mike,

Please use the latest version of components for BLE, Cy_boot and Bootloader in your project. You can find new components from Tools--> Find new components in PSoC Creator.

Also ensure that you are using latest version of PSoC Creator.

I guess there are some more other issue with your project. I am checking it. Meanwhile, please find the attached project which works at your side. Test it once at your side and let us know if it works.

Thanks

Ganesh

0 Likes

Hi Ganesh,

I tried to get that project to work. Unfortunately I had issues with it compiling. I could get the Bootloader code to compile, but for some reason when I tried to compile the PWM code I was getting an error that said:

“prj.M0120:Build error: cannot open linker script file BootloaderSymbolsGcc.ld: No such file or directory”.

I can definitely see that file in the LinkerScripts folder both in Windows Explorer and the project Workspace Explorer, so not sure what the issue is there

Regards,

Mike

0 Likes

Hi Mike,

Can you please new a new loadable application for your device from the scratch using the files I have sent? You can use main.c and other files from my application.

Please folow the steps mentioned in section 5.3 of the following application note and let me know if you still face the issue.

https://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota...

Thanks and regards

Ganesh

0 Likes

Hi Ganesh,

OK, finally got it to work.  Not sure what I was doing wrong before, but I took a different approach and built up my LED Blinker program with BLE functionality first, then simply incorporated the OTA functionality and after a few false starts, I can now get my code to work.  There are a few bugs in there that need ironing out, but I'm hoping I'll be able to sort those out for myself.

Thanks for your help

Regards,

Mike