cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB55 Random Core2 Hard Faults

Aku
Associate III

Hi,

we've been testing STOP2 modes and faced random core2 crashes.

We use radio stack 1.15.0 Light

Crash data at 0x20030000: 0x1170fd0f   0x00000000   0x00000939   0x2003fa20

Any ideas?

1 ACCEPTED SOLUTION

Accepted Solutions
Aku
Associate III

Issue was caused by incorrect clocking scheme caused by clock configuration condition race on deep sleep enter/exit. Happens only if 64 MHz PLL used for system clock.

Solution is kinda tricky: core1 is not allowed to perform switch to PLL, instead it must use SHCI_C2_SetSystemClock(available in radio stack 1.17.3 or later) to perform transition. Also if FreeRTOS used then IPCC SYS must be used in blocking mode since interrupts are not available at the moment of transition to stop mode.

View solution in original post

12 REPLIES 12
Remy ISSALYS
ST Employee

Hello,

When the hardfault occurs, can you check the value of FLASH_SR registrer?

Best Regards

Aku
Associate III

Hi Remi,

FLASH_SR were containing 0x0

We are using keystore in RAM, so core2 shouldn't write anything to flash.

Also no HSEMs were locked by core2

Remy ISSALYS
ST Employee

Hello,

How did you enter in stop2 low power mode? Are you using the low power manager used in STM32CubeWB package example? You can look BLE_HeartRate example that allow to reach stop2 low power mode.

Best Regards

Remy ISSALYS
ST Employee

Hello,

After how long does the hard fault appear? Do you have a precise scenario that generate the hard fault?

Best Regards

Some device crashes every couple hours, other can work days. We don't have exact way to reproduce it.

Remy ISSALYS
ST Employee

Hello,

Using your code to enter/exit in stop2 low power mode, I reproduce the hard fault on nucleo-wb55, issue is under investigation. I keep you inform as soon as possible.

Best Regards

Awesome, waiting for results. Also can you link this to case 00178410 ?

Any updates?

From our side we've switched to use HSI16 as SMPS clock in all modes as most examples show and still can reproduce it.