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

nRFgo Studio ERROR "This hex file has data in Softdevice region"

Hi,

  • We are developing a Bluetooth 2d-3d mouse with OTA -DFU service.
  • The controller we are using NRF52832  QFABB0 it contain 32KB RAM and 256KB of flash memory.
  • SDK we are using is "nRF5_SDK_15.3.0_59ac345" .
  • To work an OTA-DFU application successfully ,we need to flash SOFTDEVICE ,BOOTLOADER AND APPLICATION into the nrf52832.
  • SOFTDEVICE :- "s132_nrf52_6.1.1_softdevice"
  • BOOTLOADER :-(....\nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\) some modification done in this ,we made it buttonless and the led pins was changed according to our custom board .
  • APPLICATION :- (.....\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_hids_mouse) we modified these code with our needs.

ISSUES 

  • I TRIED TO FLASH THE SOFTDEVICE WITH "nRFgo Studio" AND ITS FLASHED SUCESSFULLY. THEN I TRIED TO FLASH THE BOOTLOADER WITH "nRFgo Studio" BUT ITS SHOWING SOME ERROR LOOK THE SCREEN SHORT.

NOTE:- when i flashed the BOOTLOADER  directly from the SEGGER IDE  its  flashing successfully  and its also advertising as "DfuTrag" and the OTA - firware update is taking place successfully too. 

DOUBTS

  1. Why these issues  happening in "nRFgo Studio"?
  2. how can we solve these issue?

note :-I also tried the solutions in error command box in the screen short but then also the bootloader code is not working .

PLEASE ANSWER TO 1 AND 2.

  • OKKA THANKS.

    NEXT ISSUE.

    When i flashed the softdevice and bootloder +bootloder setting hex together to the NRF52832 contains 256kKB  the same issue was showing again.

    note:- If there is only softdevice and bootloder hex its working fine and also advertising as "DfuTrag".

    DOUBT THE CHANGES ONLY REQUIRED IN LD FILE OR ITS REQUIRED IN SECTION PLACEMENT MACRO. LOOK BELOW.

  • FOLLOWING ARE THE WORKING SOFTDEVICE AND BOOTLODER HEX FILE PLEASE TEST IT YOUR SELF

    BOOTLODER HEX

    0871.secure_bootloader_ble_s132_pca10040_debug.hex

    SOFTDEVICE HEX

    0486.s132_nrf52_6.1.1_softdevice.hex

    IF WE FLASH ABOVE TWO HEX IT WILL WORK AND ADVERTISE IN NRF52832 256KB

    BUT IF WE TRY TO FLASH THE BOOTLODER SETTING HEX WITH SD AND BL AN ERROR WILL SHOW.

    BOOTLOADER SETTING HEX

    7318.bootloader_setting15.hex

  • Hi Nandhu

    You don't need to make any changes in the section placement macro in SES, sorry about the confusion. It seems like the bootloader_settings file is still starting at 0x7E000, so you'll have to fit it in the 256kB flash.

    You can do this by changing the placement of your bootloader settings using nrfutil. nrfutil is part of the nRF Command Line tools that can be downloaded here. Please download this and try the following command in your command line:

    nrfutil settings generate --family NRF52 --application ble_app_hids_mouse_pca10040_s132.hex --application-version 1 --bootloader-version 1 --bl-settings-version 2 --start-address 0x0003F000 bootloader_setting15.hex

    Best regards,

    Simon

  • It seems like the bootloader_settings file is still starting at 0x7E000, so you'll have to fit it in the 256kB flash.

     But i changed the  bootloader_settings_page (r) : ORIGIN to 0x3F000.  in LD file.

    You can do this by changing the placement of your bootloader settings using nrfutil

    Which command is used for these. i will to it with command prompt.

    ONE MAJOR ISSUE 

    I told you that when flashing the softdevice and bootloader to nrf52832 its advertising and OTA _DFU is working.

    After i made the bootloader buttonless its advertising but the OTA _DFU is not taking  place . look the screen shot.

    • CHANGES IN BOOTLOADER CODE.

    #define NRF_BL_DFU_ENTER_METHOD_BUTTON 0 

    #define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 1    IN sdk_config.h  file.

    EDITED PART BELOW

    SIMON THE OTA-DFU is not takeing place without these change too.I don,t known why . same error is showing .

    • ERROR SHOWING WHILE OTA _DFU

  • Hi Nandhu

    If you see the screenshot of your code below, you can see that the bootloader settings file still starts at 0x0007E000, which means changing the bootloader_settings_page didn't help.

    Using the command from my last post in your command line after downloading and installing the command line tools, should change the placement of your bootloader settings.

    Are you sure you changed the correct .ld file for the MBR params? You're using the pca10040_ble_debug example, correct? So that means you'll have to change the secure_bootloader_gcc_nrf52.ld file in this path: ..\nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble_debug\armgcc

    Best regards,

    Simon

Related