Hi,
We are currently attempting to turn off unused parts of our RAM, and the app's linker space is configured to NOT use the turned on RAM.
The problem is that the bootloader in our production boards currently has a linker space that covers the ENTIRE board.
On the one hand we do not want the bootloader to collapse sporadically at runtime, and on the other hand we do not want to DFU the BL on our production boards, as long as this it possible...
In addition - we use a watchdog in our app, initialized by the default values:
#define NRFX_WDT_DEAFULT_CONFIG
{
.behaviour = (nrf_wdt_behaviour_t)NRFX_WDT_CONFIG_BEHAVIOUR,
.reload_value = NRFX_WDT_CONFIG_RELOAD_VALUE,
NRFX_WDT_IRQ_CONFIG
}
Where NRFX_WDT_CONFIG_BEHAVIOUR = 1 ("Run in SLEEP, Pause in Halt"), and NRFX_WDT_CONFIG_IRQ_PRIORITY = 6.
In addition, our timeout is set by NRFX_WDT_CONFIG_RELOAD_VALUE as 3 minutes (180000), and indeed when calling APP_ERROR_CHECK(1) after a timer timeout, I see that the device resets after 3-3.5 minutes.I am assuming that the device hard resets, because if I call the function for a soft reset, the board does NOT successfully reset (because some of the RAM used by the BL is off), whereas after the WD timeout, the BL --> app turns on successfully.
My question is as follows:
1) Does every assert + fault in the app lead to the watchdog instigating a hard reset?
2) Does the watchdog configured and started by the application "watch" the BL code? The reason I ask is the answer to another ticket of mine (https://devzone.nordicsemi.com/f/nordic-q-a/73584/hard-vs-soft-reset-regarding-the-bootloader-ram-off), which would lead me to believe that the series of events leading to the assumed hard reset is:
APP_ERROR_CHECK(1) --> Soft reset of app --> bootloader turns on --> bootloader fails to use some of it's RAM because it is turned off --> watchdog configured and started instigates a hard reset.
3) Continuing on the previous question - if there is a watchdog on the app code, is there any reason to start a separate watchdog on the BL code?
Thanks!
Roi
