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.

  • HI SIMON 

    You don't need to make any changes in the section placement macro in SES, sorry about the confusion

    I want to inform one thing if we don't change the FLASH START and FLASH SIZEin the section placement macro in SES, (I.E the same change in LD file) this error will show while flashing.

    If we changed it bootloder and softdevice will flash and advertise but OTA_DFU will not take place and these error will show.

    why these OTA-DFU issue is showing?

    JUST leave the bootlader setting issue now we will go through it later . First we want to solve these issue.

    If you need our BOOTLOADER sdk zip file i will send it to you? 

  • simon please look the reply to your previous answer.

  • Hi,

    Are you sure you changed the correct .ld file for the MBR params?

  • Hi Nandhu

    After some digging and testing here on my end, I managed to find out how to set everything right.

    First, for the bootloader itself. the .ld file is only relevant if you build your project in arm gcc. I found the correct way to do it for SES projects though, so here you go (these settings are only for the 256kB flash version of nRF52832):

    First, you're correct, FLASH_START needs to be set in SES Section Placement Macros. Again, sorry about the confusion. Set FLASH_START=0x32000 (or wherever you want your bootloader to start after the SoftDevice). Next, go to Memory Segments and set  mbr_params_page RX 0x0003E000 0x1000 and bootloader_settings_page RX 0x0003F000. Finally, you'll also have to open the nrf_dfu_types.h file in ..\nRF5_SDK_15.3.0_59ac345\components\libraries\bootloader\dfu, and set #define BOOTLOADER_SETTINGS_ADDRESS     (0x0003F000UL) on line 101, and #define NRF_MBR_PARAMS_PAGE_ADDRESS         (0x0003E000UL) on line 123. This should ensure that the bootloader and the bootloader settings .hex files are correctly configured. Keep in mind that this is only valid for the 256kB flash version of the nRF52832, and you have to change it back for it to be optimized for the 512kB flash version of the nRF52832.

    Best regards,

    Simon

  • Is there any modification needed to ld file?

    Next, go to Memory Segments and set  mbr_params_page RX 0x0003E000 0x1000 and bootloader_settings_page RX 0x0003F000.

    Is these changes want to done on ld file?

    Then what about the RAM ,FLASH ,uicr_bootloader_start_address(r) and uicr_mbr_params_page (r) ?Any changes required . 

    If you can please send the values of these too. 

Related