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?

  • Hi Edvin,

                    I got nRF52840-DK, and I connected my board to DK board. Now I noticed there is a battery on DK and my unit also have a battery. I will connect DK to PC via USB. How to configure power on each device (not to cause some damage)?

  • I set battery in device and powered development kit via usb. I was able to see both original device and new device. I've read and saved  hex file from old device and than did erase and write to new device. All done with nrf programmer. But new device still does not work although memory map looks same like old device. I checked devlopment kit log and I saw that firmware was not protected. So simple read from old and load on new device should work or?

  • nebojsar said:
    But new device still does not work although memory map looks same like old device.

    How do you determine that it doesn't work? What do you observe?

    nebojsar said:
    I checked devlopment kit log and I saw that firmware was not protected. So simple read from old and load on new device should work or?

    How did you read the code? And what did it output? A .hex file? If so, can you upload it here?

    Best regards,

    Edvin

  • I had old device with good firmware in working condition. I connected it to DK and via programmer app I was able (or at least I think) to get firmware hex file which I downloaded and saved. After I disconnected old device, it stopped working, usual led blink after press on power-on swich does not appear and I cannot find device via bluetooth. After connecting old device I attached new one and loaded hex file that I've got but again device is unresponsive so I think that probably I was just seeing DK memory not one from my devices. I also checked logs which showed always same serial number of device and in this case serial number of DK. I powered DK via usb, and my board was powered by onboard battery (same voltage 3V). I used diagram to connect external board from message above. 

    I am wondering which serial number should be visible when DK and external board(my device) is connected to it? Also if I was just connected to DK how did I manage to destroy/damage original device firmware and why device is not responding now.

Reply
  • I had old device with good firmware in working condition. I connected it to DK and via programmer app I was able (or at least I think) to get firmware hex file which I downloaded and saved. After I disconnected old device, it stopped working, usual led blink after press on power-on swich does not appear and I cannot find device via bluetooth. After connecting old device I attached new one and loaded hex file that I've got but again device is unresponsive so I think that probably I was just seeing DK memory not one from my devices. I also checked logs which showed always same serial number of device and in this case serial number of DK. I powered DK via usb, and my board was powered by onboard battery (same voltage 3V). I used diagram to connect external board from message above. 

    I am wondering which serial number should be visible when DK and external board(my device) is connected to it? Also if I was just connected to DK how did I manage to destroy/damage original device firmware and why device is not responding now.

Children
No Data
Related