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.

Parents
  • 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. 

Reply Children
Related