Showing results for 
Search instead for 
Did you mean: 

What happens when the protocol stack is written to an incorrect address?

Associate II



If I write the protocol stack to an address different from the original address, will the protocol stack work properly? The firmware I wrote is stm32wb5x_Ble_Mac_802_15_4_fw.bin, and I wrote it to 0x080B1000 when it should have been written to 0x080B9000. I don't have the actual firmware so I can't see how it works. I think the protocol stack isn't working properly. Is that correct? Or will it work properly even if I write it to the wrong address?

ST Employee

STM32WB Copro Wireless Binaries are position independent, it will work also when loaded on different address than suggested in release notes - option bytes of STM32WB are set by FUS to fit used stack address. You can test on your side different address to load STM32WB Copro Wireless Binary and check how option bytes are responding (SFSA and SBRV).
Release notes are suggesting optimal value to load the stack. Concretely for stm32wb5x_Ble_Mac_802_15_4_fw.bin v 1.19.0 it's 0x080BF000 for 1M memory version. When you try to use 0x080C0000, you get an error, because stack cannot fit into the memory. If lower value (0x080BE000 or lower) is used, there will be memory gap between stack and FUS, which has no usage, cannot be used by user application in CPU1.

Best regards,