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.

Parents
  • Hi,

    I think you are following an old tutorial.  

    We have a buttonless DFU tutorial for SDK 15.0.0 which is more up to date here -> https://github.com/gamnes/nRF52832-buttonless-dfu-development-tutorial

    Best Regards,

    Marjeris

  • Exactly what I think is to implement the main application operation and then switch to bootloader mode after or reboot when receiving a specific packet.
    I first tested it with the example of SDK12.3.0 and the DK board,
    I confirmed that it worked well.
    After that, I had to merge my project source to download the firmware to the device and enter the bootloader as soon as booting.
    My device is buttonless. There is no button. There is a button to boot the device, but there are no more buttons available for GPIO to switch to Bootloader mode.
    I want to solve this somehow, so I'm trying to test again with the SDK 15.0.0 Version.

  • Hi ,

    If I understood you right, you already have an application based on SDK 12.3.0 and now you want to add buttonless DFU to your old application. Is that correct?

    And you already tested the Buttonless DFU template application example in SDK 12.3.0 and it work well, but now you want to merge the both your application and the bootloader in your firmware image zip file and you are having trouble?

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

    I think this is probably because you flash the application with the bootloader without first generating the bootloader settings page using nrfutil.

    There is a guide using SDK v12 which you can take a look at an explains how to generate the bootloader settings page using nrfutil in Appendix 1:
    https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloader

     

    Aser said:
    There are two things that I saw when I read this article.
    first,
    Step 2 - Create our own bootloader using out own private / public keys
    In Step 4
    "Compile C: \ nRF5_SDK_15.0.0_a53641a \ examples \ dfu \ secure_bootloader \ pca10040_ble \ ses \ secure_bootloader_ble_s132_pca10040.emProject, which is the secure BLE bootloader for nRF52832".
    I do not know exactly how this part should proceed with Compile.

    This part is the same as 'Step B: Build the Bootloader' in the blogpost. After you have generate your own private and public keys (use nrfutil) you should:

    • Install micro-ecc
    • Copy the generated public key to your bootloader folder.
    • Compile the bootloader, means to build the bootloader. Open the bootloader project in your IDE of choice and click "build".

    Are you able to build your bootloader successfully or not?

    Best regards,

    Marjeris

  • Before proceeding with the 15.0 SDK, I first went through this tutorial.

    https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloader


    But Step D. Test the DFU stage and use the nRF Toolbox application to run the DFU
    I have symptoms like the picture below.
    In the meantime, the DFU is interrupted and is not successful.
    With a fail message called INVALID OBJECT.

    I have not found the cause even if I search hard.
    Why are you doing this?


  • 아랫 사진은 내가 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.

Reply
  • 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.

Children
No Data
Related