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

0693W000006GzsPQAS.png

GBehe
Associate III

Ohh. Thanks for showing it. I see both Release and a Debug build configuration as in screenshot.

What to do next?

Thanks.

EJOHA
Senior

OK! It seems fine and Debug configuration is the active one.

If it does not work to debug the application the reason could be that the application is located above 0x8000000 and it is intended to be started by a bootloader.

To see what happens when debugging if it does not break at main you can in the Debug Configuration open the Startup tab and deselect the "Resume" checkbox. This should make debugging start from the Reset_Handler in the startup file. Step through and see what happens.

I have not debugged the OTA projects and do not know the Bootloader. Maybe the Bootloader updates the vector base register when it is used. In that case you need to set vector base register instead in the application to make interrupt work correctly. I really hope there are some documentation/readme file together with the applications you are testing.

GBehe
Associate III

Yes. The application starts from 0x08007000. The OTA project loader code(BLE_Ota) resides from 0x8000000 to 0x08006000.

The code does breaks at main showing the error message as I have shared above saying :"breaks at address 0x08004454 with no information available, or outside the program code".

In the Debug Configuration --> Startup tab. I have deselected the "Resume" checkbox. But the same thing is happening.

"set vector base register instead in the application to make interrupt work correctly." --> Please tell me how to do it. I will try.

I have seen documentation/readme file with the applications I am using (STM32Cube_FW_WB_V1.8.0). But could not find anything related to this.

Thank you.

EJOHA
Senior

Hi GBehe, It is a little bit confusing.

I can see in the figure you sent displaying the Startup tab that you are downloading the Release\BLE_Ota program instead of the application. If you want to debug the BLE_Ota program please use the program built with Debug information. When you are using the release version this is probably not built with debug information and it says "no information available".

If you want to debug the Application sw please change in the startup tab to download the Debug version of the Application.

It is also possible in the Startup tab to download several programs if you want to debug both bootloader and the application. The program will start debug the program which is last in the list. So if you want to debug from the bootloader this program shall be last in the list.

Regarding the interrupt vector table setting there are some information in the STM32CubeIDE User guide. See chapter 2.7.4 on how to setup SCB->VTOR.

The User guide can be opened from the Information Center in STM32CubeIDE.

GBehe
Associate III

Ok. I will try with the build version file of BLE_Ota program and also I will check the STM32CubeIDE User guide.

Thank you.

Hi EJOHA.

I can't debug the BLE_OTA project, I noticed that there is no build option for debug, how do I get the project to be built in the debug version?

0693W00000LzNcxQAF.png

Hi..

I'm unable to debug the BLE_Ota app even after debug version

Facing the same issue

Dose any one try to solved it ?

Thanks

Nikolaj_TL
Associate III

Hi, 

I am facing the same issue, when debugging the application BLE_ota (for STM32WB55) I get the same error as previously mentioned. 

{CB743C2C-28C9-4652-8A26-FB05C46714B6}.png

 

No 'DEBUG' version is available from the example project only the 'RELEASE' version. 
I have been following the example from: STM32WB Getting Started Series: Part 7, Over-the-Air (OTA), and have read the application note on Dual-Core Debuggning from AN4989 and AN5361, but without any help. 

In example projects I see two startup files are loaded (one for both cores M4 & M0+), but I only get one application built for the M4 processor no one for the M0+ processor. 

Debug setup from STM32WB55 BLE_ota example applicationDebug setup from STM32WB55 BLE_ota example applicationexample from AN5361example from AN5361

 

Can anybody help resolve the issue, for me to be able to debug the code as shown in the video mentioned above?