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

The nRF52832 chip and SDK12.3.0 implement the buttonless DFU function.

The nRF52832 chip and SDK12.3.0 implement the buttonless DFU function.

First, as you are guided by the DK board, you have already completed the tutorial.

I tried to run it in the source of my project,
My project device is stopped during the initial setup of the application and it seems to run in bootloader mode.

In my project, I did not call the bootloader mode setting function, but only added the header file and C file.

I want to know the exact reason for this and how to solve it.

Why do I enter this mode when I did not call the bootloader mode function?

 

bootloader mode is running but not advertising.
I'm guessing now that my device's state is bootloader mode, but I'm not sure.

Softdevice & firmware all delete picture

Softdevice & firmware all delete picture

Softdevice & My DFU Project Downloaded on Chip

Softdevice & My DFU Project Downloaded on Chip

Help me...Thank you very much.

  • 아랫 사진은 내가 DFU.zip파일을 생성할때 썻던 커맨드입니다.

    The bottom picture is the command I used when I created the DFU.zip file

    아래사진은 이 커맨드를 실행한 경로의 윈도우 창입니다.

    The picture below is the window of the path where this command was executed.

    And where is the "mergehex" command?
    When this command is input, it does not recognize it.

  • The message 'INVALID OBJECT' means something wrong with the zip file.

    The application file you are using is called 'nRF52832_xxaa_s132'. Did you build this file yourself from one of our examples? Remember that you can not use the precompiled hex files from examples as they also contain a softdevice image.

    You need to build the application yourself, then go to the 'build' folder and copy the hex file, the name should be 'nrf52832_xxaa.hex', without any softdevice attached to it.

  • Hi msromero

    When you build in keil, the hex file is named nrf52832_xxaa_s132.hex.
    Is it possible to rename this file and package it?

    And there is a step to merge application.hex, bootloader.hex, softdevice.hex file using "mergehex" command in tutorial.
    However, the command mergehex is not recognized by my computer and can not perform the command.
    Do you have any additional utilities or applications to install?

    I installed Command Line Tools, but I do not know how to use the command mergehex.

  • The mergehex command has been successfully executed!
    However, DFU still does not work :(
    I think the zip file is wrong.
    I do not know how to solve it.

    There are many commands I have
    1. nrfutil pkg generate --hw-version 52 --application-version 1 --application nrf52832_xxaa.hex --sd-req 0x8c --softdevice softdevice.hex --key-file private.key app_dfu_package_softdevice.zip

    2. nrfutil pkg generate --hw-version 52 --sd-req 0x8c --application-version 1 -
    application nrf52832_xxaa.hex --key-file priv.pem app_dfu_package.zip

    3. nrfutil pkg generate --hw-version 52 --sd-req 0x8c --application-version 1 -
    application nrf52832_xxaa.hex --key-file priv.pem app_dfu_package.zip

    The nrf52832_xxaa.hex of this command was originally nrf52832_xxaa_s132.hex. I tried to rename it with nrf52832.xxaa.hex and packaging it.
    But the symptoms are the same.

    Another derectory of this project is that I tried this try because there is no hex file called nrf52832_xxaa.hex.

  • Could this happen because of the path or environment of the derectory?

    The Derectory I was performing
    D: \ Project \ SDK \ nRF5_SDK_12.3.0_d7731ad DFU_Bootloader \ external \ micro-ecc \ nrf52_keil \ armgcc.

    Was it something you did here?

    D: \ Project \ SDK \ nRF5_SDK_12.3.0_d7731ad DFU_Bootloader \ examples \ dfu \ bootloader_secure \ pca10040 \ arm5_no_packs \ _build
    Do you have to run the command here?
    The Develop Tool I use is Keil.

    /*

    All these questions try to translate the tutorial as much as possible and try to understand it as much as possible, but it seems to have a limit :(
    There are times when strange translations are made once in a time when I do not use the translator because the English interpretation is still too much. Perhaps you have often seen such a case in my reply.

    */

Related