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,