This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

softdevice doesn't call app callback when the app is called from bootloader.

I am writing one bootloader to decide two apps resided in 0x14000 to 0x40000 with nrf51822 to run. Two apps works fine when starting running itself. But when bootloader switch to one app by using similar method with the sample codes of bootloader in nrf6300 experiment, like

m_nrf_start_address = 0x18000;
   (void)sd_softdevice_forward_to_application();
    StartApplication();

I can see it always enter into the app and advertising and connection already done by using Master Control Panel. But when Master Control Panel sends service discovery req, the app return nothing, i.e. the softdevice doesn't call the callback defined in the app.

If I switch the app from another app using same methods, it works fine. But the bootloader is just a very simple app, don't use any softdevice. It seems the softdevice doesn't hookup with the GATT service callback in app when using bootloader. Do I miss some steps to bind the callback into softdevice when bootloader switch to the app?

thanks,

Parents Reply Children
No Data
Related