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

SDK12.3 How to use experimental_ble_app_buttomless_dfu project?

Hi,I have some problems in debug with experimental_ble_app_buttomless_dfu project.

First i build the experimental_ble_app_buttomless_dfu project,so i get the app_buttomless.hex.

Second,i build the sucure dfu project ,so i get the bootloader_buttomless.hex

Third,i generate the buttomless_settings.hex via nrfutil,merge bootloader_buttomless.hex and buttomless_settings via mergehex, so i get bootloader_buttomless_buttomless_settings.hex.

Forth,i merge the app_buttomless.hex,bootloader_buttomless_buttomless_settings.hex,and s130_nrf51_2.0.1_softdevice.hex,so i got buttomless_test.hex.

Fifth,i generate the dfu package via nrfutil,so i get buttomless_test.zip.

Sixth,i download the buttomless_test.hex to my board via nRFgo-Stdio.

Seventh,i connect to my board and execute dfu process via nRF Toolbox,my board can enter dfu mode.but always in Enable DFU BootLoader state(Picture_1,Picture_2).

Picture_1.png Picture_2.png

I do not know how to deal with the problem.

Best regard, alivexiaoluo

Parents
  • Hi Alive,

    You should also post the script you used to generate hex files.

    I would suggest you to do some simple test first before you combine everything like that.

    Try to flash the bootloader (only bootloader + softdevice) and try update the buttonless application hex.

    After that run the device in application mode (buttonless) then try to update the buttonless again to see if buttonless feature is functional.

    After that you can start thinking of combine the bootloader, bootloader setting and the buttonless hex.

    I assume you had a look at my guide here ?

Reply
  • Hi Alive,

    You should also post the script you used to generate hex files.

    I would suggest you to do some simple test first before you combine everything like that.

    Try to flash the bootloader (only bootloader + softdevice) and try update the buttonless application hex.

    After that run the device in application mode (buttonless) then try to update the buttonless again to see if buttonless feature is functional.

    After that you can start thinking of combine the bootloader, bootloader setting and the buttonless hex.

    I assume you had a look at my guide here ?

Children
  • Hi,Hung Bui. As you said,i merge the bootloader.hex and softdevice.hex,so i get bootloader_softdevice.hex. I downloaded the bootloader_softdevice.hex to my board via nrfgo-stdio,but it do not advertising. I use bootloader_secure project as my bootloader project.I try to get some logs from the project but failed.

  • Hi Alive,

    Please try to do what suggested in the guide. You don't have to merge the bootloader and the softdevice. Please try to flash them separately. What I suggested above mean you need the softdevice when testing with the bootloader.

    Please try to test with unmodified bootloader. If it still doesn't work , please try to debug.

  • Hi Hung Bui, I have tried what you have said,but my board still do not advertising.Are you sure it will advertising? First i downloaded softdevice to my custom board via keil.Second,i downloaded bootlader to my custom board via keil. All settings are default settings in SDK12.3.I did nothing to the bootloader_secure project except change the clock soure to .source = NRF_CLOCK_LF_SRC_SYNTH(if not,debug with my custom board it will not enter main); I tried to debug bootloader_secure project, it can enter nrf_dfu_init() in nrf_dfu.c.

    Ps. buttomless_test.hex downloaded to nRF51 DK works well and can update app.zip via nRF Toolbox app,but can not be updated by nRF Connect,log show me DFU service not found. My intention is app.zip can be updated by nRF Toolbox app on my board.what is difference between nRF51DK and my custom board?what should i do to slove this problem?waitting for u reply.

  • NRF_CLOCK_LF_SRC_SYNTH should not be used it's stated in the documenation. When you test with any normal example ble_app_hrs, can you use NRF_CLOCK_LF_SRC_RC? If it doesn't work , you need to step in to the code and debug.

  • When i set the clock source .source = NRF_CLOCK_LF_SRC_RC, and test with ble_app_hrs project in nRF51 DK,it works well.when i set the clock source .source = NRF_CLOCK_LF_SRC_RC test with ble_app_hrs project my custom board,it does not work well.Then debug,stuck at APP_TIMER_INIT() in main.c.My custom board has no 32.768k caystal oscillator.What should i do to transplant the experimental_ble_app_buttomless_dfu project to my own project on my custom board without 32.768k caystal oscillator.My product has no button and wants to secure dfu.Do you have an solution for me ? Thank you very much!

Related