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

Can't write to Buttonless DFU service

I am running the Buttonless DFU example in SDK 12.2.0 on a nRF52832. When I connect with NRF Connect, I can see the DFU control point but I can only enable notifications and read from it, not write to it.

Whenever I try to do a DFU with nRF Toolbox it fails, I guess because of that.

Is that normal? Shouldn't I see a writeable characteristic too?

Parents
  • The example didn't include the required write property for the control point, and would only work for peer devices that ignored it.

    This is listed under known issues in the SDK release notes:

    • Buttonless DFU Template Application (experimental):
      • The project setup of the example is wrong and does not fit into the available space below the DFU bootloader. To fix this problem, change the IROM1 size from 0x61000 to 0x59000. In addition, comment out the code section that reserves a codepage at 0x7E000 for MBR parameters. For details, see
        devzone.nordicsemi.com/.../
      • To switch to DFU mode, you must write to the DFU control point. However, this characteristic is set as read only. Add the following code line to enable the write property: char_md.char_props.write = 1; For details, see devzone.nordicsemi.com/.../
  • I also was having the problem with application and bootloader overlapping because of them both allocating the m_mbr_params_page in nrf_dfu_settings.c. The link you referred explains how to fix that. Thanks a lot.

Reply Children
No Data
Related