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

Blocked on SOFTDEVICE_HANDLER_INIT (RC clock source) with SDK nRF5_SDK_11.0.0-2.alpha_bc3f6a0

HI All,

I tried to migrate from nRF51_SDK_10.0.0_dc26b5e to nRF5_SDK_11.0.0-2.alpha_bc3f6a0

my migrated ble_stack_init:

static void ble_stack_init(void)
{
    uint32_t err_code;

    // Initialize the SoftDevice handler module.
    //SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_1000MS_CALIBRATION, NULL);
    SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION, false);

    ble_enable_params_t ble_enable_params;
    err_code = softdevice_enable_get_default_config(CENTRAL_LINK_COUNT,
                                                    PERIPHERAL_LINK_COUNT,
                                                    &ble_enable_params);
    APP_ERROR_CHECK(err_code);
    
    //Check the ram settings against the used number of links
    CHECK_RAM_START_ADDR(CENTRAL_LINK_COUNT,PERIPHERAL_LINK_COUNT);
    
    // Enable BLE stack.
    err_code = softdevice_enable(&ble_enable_params);
    APP_ERROR_CHECK(err_code);

    // Register with the SoftDevice handler module for BLE events.
    err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch);
    APP_ERROR_CHECK(err_code);

    // Register with the SoftDevice handler module for System events.
    err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch);
    APP_ERROR_CHECK(err_code);
}

The code blocked on SOFTDEVICE_HANDLER_INIT.

  1. I use NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION clock source.
  2. The clock source works find on SDK 9 and SDK 10
  3. Bootloader works fine so softdevice is flashed correctly.
  4. I use S130 stack (from 1.0.0 to 2.0.0)

Any idea ?

Parents
  • backtrack output:

    ((gdb) bt
    #0  0x0000075c in ?? ()
    #1  <signal handler called>
    #2  0x0001f55e in sd_softdevice_enable (clock_source=17, fault_handler=0x1f78d <
    softdevice_fault_handler>) at /home/itrs/Work-bt/ingics-ble-s130/lib/nRF5_SDK_11
    .0.0-2.alpha_bc3f6a0/components/softdevice/s130/headers/nrf_sdm.h:191
    #3  0x0001f912 in softdevice_handler_init (clock_source=17, p_ble_evt_buffer=0x2
    000081c <BLE_EVT_BUFFER.9289>, ble_evt_buffer_size=72, evt_schedule_func=0x0) at
     /home/itrs/Work-bt/ingics-ble-s130/lib/nRF5_SDK_11.0.0-2.alpha_bc3f6a0/componen
    ts/softdevice/common/softdevice_handler/softdevice_handler.c:307
    #4  0x0001d57c in ble_stack_init () at /home/itrs/Work-bt/ingics-ble-s130/ble_ig
    s_serial_io/src/main.c:1385
    #5  0x0001da0a in main () at /home/itrs/Work-bt/ingics-ble-s130/ble_igs_serial_i
    o/src/main.c:1646
    

    The code never returns from SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclk

Reply
  • backtrack output:

    ((gdb) bt
    #0  0x0000075c in ?? ()
    #1  <signal handler called>
    #2  0x0001f55e in sd_softdevice_enable (clock_source=17, fault_handler=0x1f78d <
    softdevice_fault_handler>) at /home/itrs/Work-bt/ingics-ble-s130/lib/nRF5_SDK_11
    .0.0-2.alpha_bc3f6a0/components/softdevice/s130/headers/nrf_sdm.h:191
    #3  0x0001f912 in softdevice_handler_init (clock_source=17, p_ble_evt_buffer=0x2
    000081c <BLE_EVT_BUFFER.9289>, ble_evt_buffer_size=72, evt_schedule_func=0x0) at
     /home/itrs/Work-bt/ingics-ble-s130/lib/nRF5_SDK_11.0.0-2.alpha_bc3f6a0/componen
    ts/softdevice/common/softdevice_handler/softdevice_handler.c:307
    #4  0x0001d57c in ble_stack_init () at /home/itrs/Work-bt/ingics-ble-s130/ble_ig
    s_serial_io/src/main.c:1385
    #5  0x0001da0a in main () at /home/itrs/Work-bt/ingics-ble-s130/ble_igs_serial_i
    o/src/main.c:1646
    

    The code never returns from SVCALL(SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclk

Children
No Data
Related