In the serial example, how to use the command JumpToBootloader() to enter dfu mode.

Hi Nordic,

I want to send JumpToBootloader() command to nrf52832 module to make it enter dfu mode and update.

But I got the following error, can you tell me what is the right way.

error : ERROR_REHECTED.

I have successfully updated FW with this command (use button four to enter dfu mode)

nrfutil dfu serial -pkg xxxx.zip -p /dev/ttyACM0

But now I need to use JumpToBootloader() to enter dfu mode.

Another question is to use the nrfutil tool to update the FW, is it necessary to let the nrf52832 module enter the dfu mode first. Right?

My environment is

Operating System: Ubuntu18.04

nRF5 SDK for Mesh v5.0.0

nRF5 SDK v17.0.2

SoftDevice : SoftDevice S132 version 7.2.0

python version: Python 3.6.9

board: PCA10040.

Thanks in advance.

Leo Lin.

  • Hi Elfving,

    Sorry about that extra comment in Norwegian btw! I didn't mean to leave it there :)

    Haha, it's OK!

    Yes, I am quite sure every example can be used along with normal DFU. Though there are other factors such as flash space etc. that might limit you.

    OK, I want to think about how to integrate normal DFU into my example.

    Did you follow the additional steps for that mentioned here

    I have seen this, but I don't know the difference in details. But I should not continue to look here at the moment, and I will look at this one again when I have time. If there are any questions, I will raise a ticket to ask questions, thank you!

    For mesh? Absolutely. 

    The node takes a certain batch of that DFU it has received and sends it into the mesh network, with which it also is limited to 10 packets a second. It needs to do this so that the rest of the Mesh network also gets this DFU, though I guess in your case there is no Mesh network. Just this node.

    I already know this, thank you, I can use the parameter -i to adjust the data transmission interval.

    The question is if you want to update just a couple of devices or an entire network of units. Mesh DFU is a good way updating an entire mesh network. I assume a normal DFU is what you want. If you want it activated without a button maybe a firmware update over the air (FOTA) is what you need? Take a look here.

    I also think nromal DFU is more suitable for my needs.

    I should send a command to enter DFU mode through the serial interface, not using buttons or ota.
    But I am still not sure what I want to do.

  • Hey again Leo!

    Sounds good! :)

    Maybe something along the lines of what is discussed in this case would be interesting for you as well.

    Let me know if there is anything else!

    Best regards,

    Elfving

Related