Hi
I am using nRF51822, S130, SDK12, Working on adding static key security to my application
So far I have change the GLS (glucose) example to static passkey and connected successfully using nRF Connect and NRF DK51
Since than I have tried to migrate that code into a thin version of my existing application and encountered a Hardfault after the sd_ble_gap_authenticate command,
A problem I didn't see on the the project I worked on based on the SDK example version - this is the call stack
I have not changed anything in those functions, only, as I said, as far as I know I only changed to Static passkey with the following code after ble_stack_init() in main()
uint8_t passkey[] = STATIC_PASSKEY; //m_static_pin_option.gap.passkey.p_passkey = passkey; //gap_opt m_static_pin_option.gap_opt.passkey.p_passkey = passkey; //gap_opt err_code = sd_ble_opt_set(BLE_GAP_OPT_PASSKEY, &m_static_pin_option); APP_ERROR_CHECK(err_code);
the routine from which the HardFault is invoked -
static ret_code_t link_secure_peripheral(uint16_t conn_handle, ble_gap_sec_params_t * p_sec_params) { // This should never happen for a peripheral. NRF_PM_DEBUG_CHECK(p_sec_params != NULL); // VERIFY_PARAM_NOT_NULL(p_sec_params); ret_code_t err_code = sd_ble_gap_authenticate(conn_handle, p_sec_params); return err_code; }
Would greatly appreciate any inputs and insights on this issue, since I have no idea what causes it
Thanks!