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

52810, Can't program the boot loader setting file into flash.

SDK 14.2.0 SR3v1.2 

nrfutil version:2.3.0

Hi, this is my command:

nrfutil settings generate --family NRF52 --application PCA20031-SR3_nRF52810_Product_Example.hex --application-version 0x0000 --bootloader-version 0x0000 --bl-settings-version 1 my_setting.hex

I use the same parameters in nrf52832 and it works, but not in nrf52810. It keeps saying "flash is not erased" when I try to program it after I click erase button in nRf go studio.

Questions:

1.Are application version & bootloader version user-defined?

2.bl-setting-version seems only 1, if use other values than 1 will show error message. Is that correct?

"The Bootloader settings version.Defined in nrf_dfu_types.h, the following apply to"
"released SDKs:|SDK12|1|" 

I don't find any message specifically tells the settings version in nrf_dfu_types.h

3.In nrf_dfu_setting.c: "s_dfu_settings.settings_version == NRF_DFU_SETTINGS_VERSION"   NRF_DFU_SETTINGS_VERSION is NOT referenced or defined anywhere .How?

Thanks.

Parents
  • Hi,

    The problem is that the hex file generated with the "--family NRF52" option is for the nRF52832 with 512 kB flash, and as the bootloader settings page is located in the end, this is simply outside of the nRF52810 flash (it only has 192 kB flash). The fix is to use "--family NRF52810". Note that this is only supported in recent nrfutil versions, so you should update to the latest (currently 3.5.1).

    For the specific questions:

    1. Yes, the application and bootloader version is user-defined. (The limitation is that you can only update to a higher version that the current version.)

    2. Yes, there is only version "1" (for now).

    3. The NRF_DFU_SETTINGS_VERSION preprocessor definition is not set in a .c or .h file, but rather in the Makefile or project settings.

Reply
  • Hi,

    The problem is that the hex file generated with the "--family NRF52" option is for the nRF52832 with 512 kB flash, and as the bootloader settings page is located in the end, this is simply outside of the nRF52810 flash (it only has 192 kB flash). The fix is to use "--family NRF52810". Note that this is only supported in recent nrfutil versions, so you should update to the latest (currently 3.5.1).

    For the specific questions:

    1. Yes, the application and bootloader version is user-defined. (The limitation is that you can only update to a higher version that the current version.)

    2. Yes, there is only version "1" (for now).

    3. The NRF_DFU_SETTINGS_VERSION preprocessor definition is not set in a .c or .h file, but rather in the Makefile or project settings.

Children
Related