cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB Debug OTA application

M326.1
Associate II

Hello,

I run STM32WB exemple : BLE_p2pServer_ota on STM32CubeIDE with the BLE_Ota exemple for bootloader. In this application we start from address 0x08007000

MEMORY

{

FLASH (rx)         : ORIGIN = 0x08007000, LENGTH = 484k

RAM1 (xrw)         : ORIGIN = 0x20000004, LENGTH = 191k

RAM_SHARED (xrw)      : ORIGIN = 0x20030000, LENGTH = 10K

}

How could i do in the STM32CUBEIDE debug configuration to run the debug on this application ?

Thanks.

18 REPLIES 18
EJOHA
Senior

It should work to debug this in STM32CubeIDE directly. It should not be a problem that you have defined flash not to start from 0x8000000.

But to debug it we recommend to use the Debug version instead of Release version which normally does not contain all debug information or is built with optimization,

The problem you may experiance could be that vector base register needs to be setup to location where interrupt vectors are located.

You can try to debug both using ST-LINK GDB server and OpenOCD.

Do you experience problems with debugging?

Thanks for your answer

I used two exemple of ST : BLE_p2pServer_ota and BLE_Ota (STM32Cube_FW_WB_V1.8.0) and i didn't modify anything.

I got this problem when i run the debug: "Break at address "0x8001042" with no debug information available, or outside of program code."

Could you please tell me how to setup the vector base in this exemple ?

If your application resides at 0x08007000 then whatever is at 0x08001042 is something else, that you're not debugging with source, like a boot loader

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I run the debug from my application BLE_p2pServer_ota.

EJOHA
Senior

I do not know about the BLE_p2pServer_ota example. Normally if the program is located on non-default address and interrupts are used the application needs to setup the vector base register, This can be done for instance with

SCB->VTOR=my_VectorTable;

The STM32CubeIDE User manual also contains useful information. It is available here. See chapter 2.7.4

GBehe
Associate III

Hi EJOHA.

I have also faced the same issue with all my OTA projects. I also have done the required FLASH starting address for the BLE_ota example.

"But to debug it we recommend to use the Debug version instead of Release version " --> I could not get it. What is it about?

Thank you.

EJOHA
Senior

Hi GBehe,

Normally projects have two build configurations. One Release and one Debug, The Debug configuration is intended to use when debugging.

When opening project properties do you see both a Release and a Debug build configuration?

GBehe
Associate III

Hi EJOHA.

You mean, as in the screenshot right? I could not understand the release type build configuration. Do you mean the run/Start up configuration?

Thanks.

EJOHA
Senior

I was thinking of the project Properties Build settings. Debug configuration normally builds the project with Debug information.