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

sdk 1.15.3 how to set up bonding examples with DFU enabled?

Dears,

What I am trying to implement:

  1. enable MITM and bonding
  2. device IO capability:BLE_GAP_IO_CAPS_DISPLAY_ONLY; (mostly like ble_app_gls with passkey method, but different service)
  3. with DFU enabled

What I did try or failed:

  1. secure bootloader example and ble_app_buttonless_dfu example, with or without bonding, walked through and succeed
  2. trying to set ble_app_gls to add DFU services, failed in application bootup

I need some help here:

  1. Is there any procedure I can follow to add DFU feature into a current bonding example?
  2. How to set ble_app_buttonless_dfu bonding with passkey entry method?(ble_app_buttonless_dfu bonding example seems only works under JUST WORK method).
Parents
  • Hi, 

    Is there any procedure I can follow to add DFU feature into a current bonding example?

    The DFU feature of the bootloader and the application is in principle completely separated. The difference is if you want buttonless DFU. In that case, you can also choose whether you want bond sharing or not. With bond sharing, the application will inform the bootloader of the bonding information so that it is used by the bootloader during the DFU update procedure. It is not a necessary feature in most cases. You can refer to the Peer manager documentation for details, and the Buttonless DFU Template Application, which demonstrates how buttonless DFU can be done both with and without bonding (note that bonding, in this case, refers to bonding used by the bootloader only, so there is no problem to use bonding in normal operation also when not using bonding with buttonless DFU).

    How to set ble_app_buttonless_dfu bonding with passkey entry method?(ble_app_buttonless_dfu bonding example seems only works under JUST WORK method).

    You can adjust the SEC_PARAMS_* macros close to the top of main.c to adjust the configuration. However, using a passkey requires a bit more adjustments. You can see how that is done in the Glucose Application example.

    breaker said:
    I need to enable LE Secure connection(LE Legacy is not acceptable by my customer), seems I have to import some crypto parts?

    Everything is already handled for you in the SDK examples that support LESC (which are most in SDK 15.3.).

Reply
  • Hi, 

    Is there any procedure I can follow to add DFU feature into a current bonding example?

    The DFU feature of the bootloader and the application is in principle completely separated. The difference is if you want buttonless DFU. In that case, you can also choose whether you want bond sharing or not. With bond sharing, the application will inform the bootloader of the bonding information so that it is used by the bootloader during the DFU update procedure. It is not a necessary feature in most cases. You can refer to the Peer manager documentation for details, and the Buttonless DFU Template Application, which demonstrates how buttonless DFU can be done both with and without bonding (note that bonding, in this case, refers to bonding used by the bootloader only, so there is no problem to use bonding in normal operation also when not using bonding with buttonless DFU).

    How to set ble_app_buttonless_dfu bonding with passkey entry method?(ble_app_buttonless_dfu bonding example seems only works under JUST WORK method).

    You can adjust the SEC_PARAMS_* macros close to the top of main.c to adjust the configuration. However, using a passkey requires a bit more adjustments. You can see how that is done in the Glucose Application example.

    breaker said:
    I need to enable LE Secure connection(LE Legacy is not acceptable by my customer), seems I have to import some crypto parts?

    Everything is already handled for you in the SDK examples that support LESC (which are most in SDK 15.3.).

Children
No Data
Related