nrf52811 dfu issue

Hi, I'm a novice in embedded systems. I have board based on nrf52811 and firmware written for my device but when I received my board from production I could not load firmware because there is no DFU on board.  I see device as AT 52811 and I can connect but no option to load firmware. 

I understand that I will probably need to make DFU bootloader using nrf util but I am not sure that I will be able to load the current firmware with the DFU bootloader that I made. Also board is very small with just a couple of sensors and it was intended to be updated over Bluetooth. Is it possible to load DFU bootloader over BT or device must be connected to the PC to do so?

Parents
  • Just to add:

    it was intended to be updated over Bluetooth.

    This means that there probably is a bootloader, and it would be possible to update via BLE. But it requires knowledge about the actual bootloader. If it is a secure bootloader, you would need a key to sign your firmware images. You can try to connect to it using nRF Connect for iOS/Android, and see if anything shows up in the DFU tab. If it does, it means that it has the BLE service associated with DFU (which will put the device in DFU mode). But all of this is very hard to get working unless you are familiar with the bootloader that is programmed on the device. And impossible if it is a secure bootloader that requires the key to sign the application image. 

    But programming it using the debugger on any of the nRF5x DKs should work if you have access to the SWDIO and SWDCLK pins. You can wire it like this: https://docs.nordicsemi.com/bundle/ug_nrf5340_dk/page/UG/dk/ext_programming_support_P20.html

    And you don't need the reset pin. Just VDD, GND, SWDCLK and SWDIO, and connect them like it is described in the figure.

    Best regards,

    Edvin

  • Hi Edvin, I already ordered DK, it will be probably easier that way.  I have one more question. Since I have working unit with firmware loaded is it possible somehow just to clone existing content from board I have to new board?

  • It is possible as long as readback protection is not enabled. You can either way give it a try. 

    You can use nRF Command Line Tools: https://www.nordicsemi.com/Products/Development-tools/nRF-Command-Line-Tools/Download

    and the command:

    nrfjprog --readcode old_fw.hex

    to read out the content of the flash on the device that you want to copy. You can name it whatever you want to. It doesn't need to be "old_fw.hex".

    To program it to another device, you can use:

    nrfjprog --program old_fw.hex --verify

    But before you program it, you may want to erase it using:

    nrfjprog --eraseall

    Best regards,

    Edvin

Reply Children
Related