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

How to use nrfutil to do DFU over custom dongle?

I have a custom dongle that connects to the PC through a USB-UART chip. It is based on the nRF51822. I have another board based on the nRF52832. This board needs to be able to receive a DFU over BLE through the dongle and no other means for functional reasons. How do I perform this over the COM port using nrfutil? Is there a command for this? The dongle has firmware on it that cannot be overwritten. So only the COM port must be utilised. 

Parents
  • Hi,

    So in this case, the nRF52 board is the DFU target, the nRF51 Dongle is connectivity device for the pc, and the pc will act as DFU controller.

    How to do this, and if it is possible, depends on the firmware on the connectivity device. When you write that the dongle has firmware on it that cannot be overwritten, do you mean that you can not decide what firmware to put on it? If you must keep the current firmware, what firmware is it, what does it do, what protocols does it use, etc.?

    Or, do you mean that you can put firmware on it, but you have to decide which one and it can not be changed at a later point in time?

    Or, do you mean something else?

    Regards,
    Terje

  • Hey there. I meant that I can put firmware on it and I cannot change it at a later time. 

  • Yes, you can use nrfutil. Have a look at Performing a DFU over BLE.

    In order for nrfutil to work you need connectivity firmware on the connectivity device. The connectivity firmware included with nrfutil is made for our DKs and Dongles, but we also provide the source code so that you can modify and build for custom boards.

    It is the same connectivity firmware as is used for pc-ble-driver. For nRF51 it is based off of the ser_s130_hci example in SDK 11.0., with sdk110_connectivity.patch applied on top. That patch does changes to the example and sets up the Keil 5 project for building the connectivity firmware. If you use another toolchain then in main.c you must change the "#if defined (__CC_ARM )" and translate the arm compiler specific "__attribute__((packed))" to what is correct for the toolchain that you are using.

    Regards,
    Terje

Reply
  • Yes, you can use nrfutil. Have a look at Performing a DFU over BLE.

    In order for nrfutil to work you need connectivity firmware on the connectivity device. The connectivity firmware included with nrfutil is made for our DKs and Dongles, but we also provide the source code so that you can modify and build for custom boards.

    It is the same connectivity firmware as is used for pc-ble-driver. For nRF51 it is based off of the ser_s130_hci example in SDK 11.0., with sdk110_connectivity.patch applied on top. That patch does changes to the example and sets up the Keil 5 project for building the connectivity firmware. If you use another toolchain then in main.c you must change the "#if defined (__CC_ARM )" and translate the arm compiler specific "__attribute__((packed))" to what is correct for the toolchain that you are using.

    Regards,
    Terje

Children
No Data
Related