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

Custom service + DFU

I've used DFU alongside with HRS and it seems to work fine.

This time I'm using a custom service and I'm trying to add a DFU alongside. They just don't seem to play well together.

How can a custom service mess up the DFU service? I've been through the usually suspects eg:

ble_enable_params.common_enable_params.vs_uuid_count = 2;

thanks,

Parents
  • Here are the steps I used to get DFU service working with a custom profile:

    1. Make sure you bump the uuid count by 1 for the DFU.(Guess you have already done that)

    2. Make sure linker is adjusted to accommodate the increase in size because of the DFU service (The softdevice flashes a warning with amount of adjustment to be made)

    3. Make sure you get the nrf_dfu_flash_buttonless.c compiled along with the rest of your files

    4. ble_dfu_init is called from your services_init and ble_dfu_on_ble_evt is added to your ble_evt_dispatch

    1. Yep, changed to 2

    2. I think I got that setup right, but perhaps not (The linker script works ok with DFU & HRS)

      FLASH (rx) : ORIGIN = 0x1f000, LENGTH = 0x59000 RAM (rwx) : ORIGIN = 0x20002138, LENGTH = 0xdec8 BOOTLOADER_SETTINGS (rw) : ORIGIN = 0x0007F000, LENGTH = 0x1000

    3. Yep, got that too

    4)Yep got that too

Reply Children
No Data
Related