Hello,
I’ve been developing a hybrid BLE GATT and BLE Mesh firmware targeting the nRF52833 and nRF52840. The base functionality is working correctly using the example project from your SDK:
ble_peripheral_lbs_coex – sdk-nrf/samples/bluetooth/mesh
I’m now trying to enable the Security Manager Protocol (SMP) to support BLE Security Level 2 (LE Secure Connections with encryption and pairing). However, when I set CONFIG_BT_SMP=y in prj.conf, the firmware crashes on startup with the following hard fault:
E: ***** HARD FAULT *****
E: Debug event
E: r0/a1: 0x00000000 r1/a2: 0x20005dc8 r2/a3: 0x20005dc8
E: r3/a4: 0x0005309c r12/ip: 0x68e8f0e1 r14/lr: 0x0003baa5
E: xpsr: 0x61000000
E: Faulting instruction address (r15/pc): 0x0001a896
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x20005dc8 (main)
*** Booting EQUI LEVARE new v3.0.2-8ec1a907501d ***
*** Using nRF Connect SDK v3.0.2-89ba1294ac9b ***
*** Using Zephyr OS v4.0.99-f791c49f492c ***
If I remove or set CONFIG_BT_SMP=n, the firmware boots and runs normally again.
I hope you can shed some light on this issue, as I’d really like to move forward with adding BLE security to the project.
Thanks in advance for your help!
Best regards,
Julian
This is my full prj.conf: