Nucelo-G071RB - SBSFU Application Vector Table Offset? Watchdog Reset Error?
Hello,
I am trying to get SBSFU working on my G071RB Nucleo board with my own test application.
So far I have used the X-Cube-SBSFU examples and have the UserApp running as expected, it boots and I can run the tests. All good.
I now want to replace the UserApp wit my own application and test with that.
I have built SBSFU and have been able to use the postbuild.sh script to merge my application with SBSFU ok.
SBFU runs, but I am getting a watchdog reset everytime it comes to execute the user firmware as below:
= [SBOOT] SECURE ENGINE INITIALIZATION SUCCESSFUL
= [SBOOT] STATE: CHECK STATUS ON RESET
WARNING: A Reboot has been triggered by a Watchdog reset!
Consecutive Boot on error counter = 5
INFO: Last execution detected error was:Watchdog error.
= [EXCPT] WATCHDOG RESET FAULT!
= [SBOOT] STATE: CHECK NEW FIRMWARE TO DOWNLOAD
= [SBOOT] STATE: CHECK USER FW STATUS
A valid FW is installed in the active slot - version: 5
= [SBOOT] STATE: VERIFY USER FW SIGNATURE
= [SBOOT] STATE: EXECUTE USER FIRMWARE
= [SBOOT] System Security Check successfully passed. Starting...
= [FWIMG] Slot #0 @: 8010000 / Slot #1 @: 8018000 / Swap @: 8017000Initially I thought this maybe be due to me not having a watchdog in my test application, so I have gone back added a watchdog to my application and know that works ok outside of SBSFU.
I'm wondering if maybe SBSFU isn't able to find my application at the correct Vector Table offset and then a wtatchdog is tripping and reseting the device maybe?
When I looked at Drivers/CMSIS/system_stm32g0xx.c in the UserApp example included with the SBFU example, the VECT_TAB_OFFSET is 0x00, so this must be beign set somewhere else for the USerApp example to work? Maybe STM32G071RBTx.id?
For my application I have taken the STM32G071RBTx.id memory mapping from the UserApp project but it's still giving the same error?
