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

Device is always in bootloader mode

Hi,

My device is always in bootloader mode, even if i flash the sample heart rate application it is not entering into the application. Actually, before it was working fine, i know that, if there is no valid application in the code region 1 the device should always in dfu mode, but after flashing a valid application like ble_app_hrs and ble_app_proximity, the device should enter into the application. I also checked this with the same device before, it was working fine, but now it is not working, So can anyone guess the source of the problem.

Regards, Balaji

bootloader_error.png

Parents
  • FormerMember
    0 FormerMember

    Hello,

    It is possible to program both the bootloader and the application at the same time. It can be done by following the procedure below: Note that this is provided as is.

    1) In the bootloader, the flag for valid application has to be set. By doing so the application will by default start running. In bootloader_util_arm.c change:

    uint8_t  m_boot_settings[CODE_PAGE_SIZE] __attribute__((at(BOOTLOADER_SETTINGS_ADDRESS))) __attribute__((used)) ;
    

    to

    uint8_t  m_boot_settings[CODE_PAGE_SIZE] __attribute__((at(BOOTLOADER_SETTINGS_ADDRESS))) __attribute__((used)) = {BANK_VALID_APP};
    

    2) Merge the bootloader hex-file and the application hex-file into one hex-file using the following command (ble_app_proximity used as an example): mergehex.exe -m ble_app_proximity.hex bootloader.hex -o app_ota.hex

    3) The app_ota.hex (the merged hex-file) can be programmed onto the chip using nRFgo Studio.

    Best regards, Kristin

  • For a production build, should we also include the softdevice in the mergehex?

Reply Children
No Data
Related