Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

WatchDog feeding from bootloader to application and softdevice

Hi,

We have the following problem when start the watchdog from bootloader: the application is started successfully by the bootloader but when enable the softdevice the application gets stuck. The last call we can track (where the application is blocked) is nrf_sdh_enable_request().

Our booloader implementation only start watchdog and application (no signature validation or dfu).

Note that if the watchdog is not enabled the softdevice is started successfully.

Bootloader code:
#define WATCHDOG_COUNTER        30 * 32768 
void init_watchdog() {     
  NRF_WDT->CONFIG = (WDT_CONFIG_SLEEP_Run << WDT_CONFIG_SLEEP_Pos);     
  NRF_WDT->CRV = WATCHDOG_COUNTER;     
  NRF_WDT-> RR [0] = 0x6E524635UL;     
  NRF_WDT->RREN = WDT_RREN_RR0_Enabled << WDT_RREN_RR0_Pos;     
  NRF_WDT->TASKS_START = 1; 
}
....
main()
{
    init_watchdog();
    nrf_bootloader_app_start();
}

The question is how can we make the watchdog started in bootloader can be feed it application without stopping it to start the softdevice?

Thanks,

  Catalin

Related