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

nrf52810 dfu can't work

Hi,


I have met problem when apply dfu of nrf52810.


I used dfu sample of 52810 from devzone link: https://devzone.nordicsemi.com/f/nordic-q-a/28471/about-ota-for-nrf52810-on-sdk-v14-1/112571#112571, but I changed sdk to 14.2

the app is modified from project of ble_app_buttonless_dfu,


the memory address set as below:


IROM1 start 0x18000, size 0x1000, IRAM1 start 0x200024F8,size 0x3B08.


the app package generate by command: nrfutil pkg generate --hw-version 52 --application-version 4 --application nrf52810_xxaa.hex --sd-req  0xA6  --key-file private.key dfu52810.zip


the dfu process never started, what is the issue? or can you share a project of dfu app which is well validated?


thanks!

Brian Qin.

  • I tried it on 52832 with option of DEVELOP_IN_NRF52832, dfu is ok, memory addresses are same, also it is ok with app size over half of 64k, I think it turn to single band automatically,

    but on 52810, Dfutarg can be found and connected, but it never start dfu process,

  • Hi,

    Sorry for the late response.

    From your description I can't really see any obvious issues, so you will have to debug this and see if you can figure out what some details regarding what is causing this. As I understand it you are able to connect and start the DFU process, but it fails early in the process. What error message are you getting when this happens? Does the device just crash, or do you get an error in nRF Connect? Below I have attached a screen recording where I upload an invalid DFU package so that you can see the error message I am getting. Let me know what you get when you try to do the same.

    Based on your description it sounds like there is a problem with your bootloader or the way you compile, flash, or use the bootloader. The application never gets far enough to run, so the application is not part of the problem. I recommend testing that you get the regular bootloader from the SDK to work on an nRF52832. Then check that you can successfully run the nRF52810 BLE Secure DFU bootloader based on SDK14.1.0 from bjorn-spockeli in the thread you linked to. Jumping straight into porting the solution to SDK14.2.0 on nRF52810 can go wrong in many ways, so it is good to start by verifying that you get the update process to work with the firmware you started with.

    Best regards,
    Rune Holmgren

  • Hi Brian,

    Can you check if you have enough ROM for all the components and layout is correct?

    Have you set the correct bootloader settings address (BOOTLOADER_SETTINGS_ADDRESS) and MBR params page address (NRF_MBR_PARAMS_PAGE_ADDRESS)? Note that there is not enough FLASH memory on nRF52810 to update SoftDevice and MBR region is not really needed.

    Kind regards,

    Pawel

  • Hi, Pawel:

    I check the BOOTLOADER_SETTINGS_ADDRESS and NRF_MBR_PARAMS_PAGE_ADDRESS are set right, 0x2F0000 and 0x2E0000,

    I tested pa100040_debug on my 52810 board, with a reduced size of  app, it can finish dfu process, the test procedure is as below:

    1. erase all of 52810

    2. burn softdevice  s112_nrf52810_5.1.0_softdevice.hex

    3. burn bootloader

    4. proceed dfu

    but if i test it again with only set NRF_LOG_ENABLED = 0 and compiled again, when I loaded app package and start dfu, the nRFconnect shown "Startin DFU.." "disconnecting" the connected again and stopped.

    I really dont known how to explain this.....

    this project is an updated form an old project which is designed with 51802 due to requirement of pwm feature, the develop time is realy short,  so I really need your help,  better to share me a workable project of 52810 dfu.

    Thanks!

    Brian Qin

Related