2024-09-03 08:42 AM - last edited on 2024-09-04 03:19 AM by STTwo-32
Hello all)
To work with BLE I need to upload
stm32wb5x_BLE_Stack_full_fw.bin
with address
0x080CE000
via STM32CubeProgrammer
It works as well, I did it many times, if check the box first boot for stack
but I forgot (and not first time) to do that and now my BLE doesn't work on one of my devices
I made full chip erase, reuploaded stake, removed stack, and installed again dozen times via STM32CubeProgrammer, I did all can via STM32CubeProgrammer (probably)
but it doesn't work anymore.
Why STM32WB so capricious in this situation?
Does it exist any opportunity to erase the chip to factory settings with the stack as well, let's say a more hard option than provided in STM32CubeProgrammer ?
2024-09-05 07:20 AM
Yes, STM32CubeProgrammer 2.17.0
via STM32_Programmer_CLI.exe -c port=SWD -r32 0x5800040C 1
0x5800040C : 00000000
2024-09-05 07:31 AM
Could you write 0x00008000 on this address.
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-09-05 07:32 AM
Yes, I did , but when I read register it is again 0
or I do something wrong ?
C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> STM32_Programmer_CLI.exe -c port=SWD -w32 0x5800040C 0x00008000
-------------------------------------------------------------------
STM32CubeProgrammer v2.17.0
-------------------------------------------------------------------
ST-LINK SN : 53FF6F064975484913150867
ST-LINK FW : V2J37S7
Board : --
Voltage : 3.28V
SWD freq : 4000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x495
Revision ID : Rev Y
Device name : STM32WB5x/35xx
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M4
BL Version : 0xD5
Debug in Low Power mode enabled
Write 32-bit data
w @0x5800040c: 0x00008000
Downloading...
██████████████████████████████████████████████████ 100%
32-bit data download complete
C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=SWD -r32 0x5800040C 1
-------------------------------------------------------------------
STM32CubeProgrammer v2.17.0
-------------------------------------------------------------------
ST-LINK SN : 53FF6F064975484913150867
ST-LINK FW : V2J37S7
Board : --
Voltage : 3.28V
SWD freq : 4000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x495
Revision ID : Rev Y
Device name : STM32WB5x/35xx
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M4
BL Version : 0xD5
Debug in Low Power mode enabled
Reading 32-bit memory content
Size : 4 Bytes
Address: : 0x5800040C
0x5800040C : 00000000
, o
2024-09-05 07:39 AM
I can't see really any issue that may be a source for this problem.
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-09-13 06:59 AM
I spent a few days, but still didnt resore my BLE, I found this link https://community.st.com/t5/stm32-mcus-wireless/how-can-i-reset-the-p-nucleo-wb55-to-original-demo-firmware/td-p/250183/page/2
where the author had a similar problem, to solve it looks like need to use a BOOT0 pin.
In my case, I used a custom design which BOOT0 doesn't use. I wanted to ask, how do you think BOOT0 is in necessary to use in this case?
If yes, can you order and the condition should be BOOT0 for the next steps?
1.1. Connect with the board
upload stm32wb5x_FUS_fw.bin to 0x080EC000
and after
1.2. upload stm32wb5x_BLE_Stack_full_fw.bin to 0x080CE000
1.3. Start wireless stack
1.4. Upload Hex file
1.5. Disconnect with STM32CubeProgrammer and Reset MCU
2024-09-17 05:23 AM
Hi @STTwo-32 I added the settings for my BLE, Would it be helpful?
bin>STM32_Programmer_CLI -c port=SWD -ob displ ------------------------------------------------------------------- STM32CubeProgrammer v2.17.0 ------------------------------------------------------------------- ST-LINK SN : 6798040132124647524B4E00 ST-LINK FW : V2J37S7 Board : -- Voltage : 3.15V SWD freq : 4000 KHz Connect mode: Normal Reset mode : Software reset Device ID : 0x495 Revision ID : Rev Y Device name : STM32WB5x/35xx Flash size : 1 MBytes Device type : MCU Device CPU : Cortex-M4 BL Version : 0xD5 Debug in Low Power mode enabled UPLOADING OPTION BYTES DATA ... Bank : 0x00 Address : 0x58004020 Size : 96 Bytes ██████████████████████████████████████████████████ 100% Bank : 0x01 Address : 0x58004080 Size : 8 Bytes ██████████████████████████████████████████████████ 100% OPTION BYTES BANK: 0 Read Out Protection: RDP : 0xAA (Level 0, no protection) BOR Level: BOR_LEV : 0x0 (BOR Level 0 reset level threshold is around 1.7 V) User Configuration: nBOOT0 : 0x1 (nBOOT0=1 Boot from main Flash) nBOOT1 : 0x1 (Boot from code area if BOOT0=0 otherwise system Flash) nSWBOOT0 : 0x0 (BOOT0 taken from the option bit nBOOT0) SRAM2RST : 0x1 (SRAM2 is not erased when a system reset occurs) SRAM2PE : 0x1 (SRAM2 parity check disable) nRST_STOP : 0x1 (No reset generated when entering the Stop mode) nRST_STDBY : 0x1 (No reset generated when entering the Standby mode) nRSTSHDW : 0x1 (No reset generated when entering the Shutdown mode) WWDGSW : 0x1 (Software window watchdog) IWDGSTDBY : 0x1 (Independent watchdog counter running in Standby mode) IWDGSTOP : 0x1 (Independent watchdog counter running in Stop mode) IWDGSW : 0x1 (Software independent watchdog) IPCCDBA : 0x0 (0x0) Security Configuration Option bytes - 1: ESE : 0x1 (Security enabled) PCROP Protection: PCROP1A_STRT : 0x1FF (0x80FF800) PCROP1A_END : 0x0 (0x8000800) PCROP_RDP : 0x0 (PCROP zone is kept when RDP is decreased) PCROP1B_STRT : 0x1FF (0x80FF800) PCROP1B_END : 0x0 (0x8000800) Write Protection: WRP1A_STRT : 0xFF (0x80FF000) WRP1A_END : 0x0 (0x8000000) WRP1B_STRT : 0xFF (0x80FF000) WRP1B_END : 0x0 (0x8000000) OPTION BYTES BANK: 1 Security Configuration Option bytes - 2: SFSA : 0xCE (0x80CE000) FSD : 0x0 (System and Flash secure) DDS : 0x1 (CPU2 debug access disabled) C2OPT : 0x1 (SBRV will address Flash) NBRSD : 0x0 (SRAM2b is secure) SNBRSA : 0xF (0x2003BC00) BRSD : 0x0 (SRAM2a is secure) SBRSA : 0xA (0x20032800) SBRV : 0x33800 (0x20000000)