Skip to main content
Jcoll.1
Associate III
September 23, 2024
Solved

Porting the Ble_ota example

I have a board based on the same chip as the ble_ota example.

 

When I try to run this code on my board I'm finding that it immediately crashes. The crash happens before the debugger even hits the first line.

 

I'm assuming this is something simple, maybe related to flash layout or something. 

 

Can anyone provide some guidance as to troubleshooting or a better method of porting this design?

 

This topic has been closed for replies.
Jcoll.1
Jcoll.1Best answer
Associate III
September 26, 2024

I deleted the BSP folder, resolved any errors, and commented out any other GPIO commands and now I can get BLE_Ota running on my hardware.

4 replies

ST Technical Moderator
September 23, 2024

Hello @Jcoll.1 ,

Maybe your issue is related to the Known limitation mentioned in the readme file (under STM32CubeWB package: \Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_Ota):

"Debug configuration of BLE_Ota CubeIDE project is not supported by current BLE_Ota application settings as generated binary in debug mode is too big for allocated 24kB Flash sectors (between 0x8000000-0x8006000)."

You can refer to these resources that may help you on your implementation:

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Jcoll.1
Jcoll.1Author
Associate III
September 23, 2024

I saw that, but I was able to generate a binary with debug symbols turned on (-g3) as long as it was still optimized for size (-Os).

 

Regardless of whether the symbols are there it appears that at launch the design gets stuck at the 0xfffffffe signal handler and it never shows up in something like ST BLE Toolbox.

Jcoll.1
Jcoll.1Author
Associate III
September 23, 2024

A couple things that have gotten me further, but still not up and running:

1) you must manually erase all the flash (the readme says to do this, but I assumed that the eclipse programmer would already do this)

2) you have to disable a bunch of GPIO configuration that is specific to the NUCLEO board.  I didnt notice it before before its buried in a few places.  I had to disable those.

3) I switched to the version from github (still v1.20.0) rather than the version from the example.

 

The design appears to run, I can debug it and don't see any hard faults, however its not visible in bluetooth scans (i.e. ST BLE Toolbox).  Note that I have other applications for this board which show up in ST BLE Toolbox without issues.