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

SDK 12.1.0 Example don"t work

Hi,

I want to update the DFU with application nRF Connect (Bluetooth) for beginning I want to try with nRF Example in example/dfu/bootloader_secure. The file secure_dfu_secure_dfu_ble_s130_pca10028_debug.hex in pca10028_debug work when I drag and drop but when I want to build armgcc I have three erros :

  • Cannot find include folder: ../../config/secure_dfu_secure_dfu_ble_s130_pca10028_debug
  • Cannot find include folder: ../../config
  • Cannot find include folder: ../../../../../components/libraries/bootloader/ble_dfu/includes

But I still have a new folder _build and a file .hex in this folder.

I don't know if I do something bad or if I need to add something.

Someone can help me ?

Thank You,

Téo Dhien-Fane

Parents
  • Hello,

    I see the same as you, but these are not build errors. It is just the makefile that includes some include directories that doesn't exist. If you go into your project's makefile and remove the lines:

    54: $(PROJ_DIR)/config/secure_dfu_secure_dfu_ble_s130_pca10028 \
    55: $(PROJ_DIR)/config \
    78: $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/includes \

    the warnings will disappear. It doesn't break anything removing these lines, because the folders doesn't exist either way. They probably remain from an earlier version of the SDK.

    That being said, I would recommend you to port your application and bootloader to the latest SDK supporting the nRF51. That would be SDK12.3.0, so that shouldn't be too much work.

    Does the bootloader work in your case, apart from the compiler warnings?

    Best regards,

    Edvin

  • Yes I have no more problem with this.

    I don't understand how it works. This is the command I do : 

    nrfjprog —program nrf51422_xxac_s130.hex -f nrf51 —chiperase
    
    nrfjprog —program softdevice.hex -f nrf51 —sectorerase
    
    nrfjprog —reset -f nrf51

    After I create a package .zip for update my dfu for this I take an example from nRF example : 

    nrfutil pkg generate --hw-version 51 --application-version 1 --application experimental_ble_app_blinky_pca10028_s130.hex --sd-req 0x87 --key-file private.key dfu_blinking_led.zip

    The generation of package is good but the nRF Connect IOS Application said me "Error 4 : Insufficient ressources" during the update of DFU.

    I don't if I do something bad but can you help me please ?

  • After you program the nRF51 using:

    nrfjprog —program nrf51422_xxac_s130.hex -f nrf51 —chiperase
    
    nrfjprog —program softdevice.hex -f nrf51 —sectorerase
    
    nrfjprog —reset -f nrf51

    Do you see the device advertising as "DfuTarg"?

    What is the size of your application? Can you upload the .hex file that you used to generate the DFU image? Perhaps the image is too large to fit together with the softdevice and bootloader. What happens if you try to manually program it using nRF Connect for Desktop -> Programmer? Does it look like it will fit beneath the bootloader?

    NB: Programming an application using nRF Connect for Desktop -> Programmer while a bootloader is present will not run the application, because the bootloader settings are not present.

  • Yes I see the device advertising and I can connect on it.

    This is the package : https://drive.google.com/file/d/12mFYx6044oNfujHnPuDfaSxQjsyStwmw/view?usp=sharing

    The size of zip package is 116kB.

    Programmer work good and I can see the memory layout. 

    On the other hand I never access the application I have the impression that it stays all the time in the bootloader I need to change something in Bootloader ?

    I don't know what is the bootloader settings and how it's work.

Reply Children
Related