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

nrfutil settings generate for nRF52 QFAB

Hello,

it seems the current nrfutils release assumes that the bootloader settings will be stored at address 0x7F000 on an nRF52. However, unless I'm mistaken, that is only true for QFAA versions of the chip, since QFAB versions have only 256KB of flash and therefore the flash is mapped from 0x00000000 to 0x00040000. Consequently, the hex file it generates cannot be used on an nRF52 QFAB (unless of course you manually modify the base address and the corresponding checksum for that line)

If that is correct, is it fair to assume that I need to modify the source for nrfutil to allow using 0x3F000 as a bootloader settings address?

Thanks, Matteo

Parents
  • Hi Matteo,

    you are correct in that nrfutil generates a settings page starting at the address 0x7F000 if the NRF52 is given as the --family option. As you have pointed out this settings hex file cannot be used on a nRF52 QFAB variant due to its 256kB flash.

    So yes, you will have to modify the source of nrfutil to set 0x3F000 as the start address of the settings page. You have to modify bl_dfu_sett.py, found in nordicsemi\dfu, specifically change

    bl_sett_52_addr= 0x0007F000 
    

    to

    bl_sett_52_addr= 0x0003F000
    

    under class BLDFUSettings(object): at line 72. I will report this internally so that an option for the 256kB flash variant is added.

    Best regards

    Bjørn

Reply
  • Hi Matteo,

    you are correct in that nrfutil generates a settings page starting at the address 0x7F000 if the NRF52 is given as the --family option. As you have pointed out this settings hex file cannot be used on a nRF52 QFAB variant due to its 256kB flash.

    So yes, you will have to modify the source of nrfutil to set 0x3F000 as the start address of the settings page. You have to modify bl_dfu_sett.py, found in nordicsemi\dfu, specifically change

    bl_sett_52_addr= 0x0007F000 
    

    to

    bl_sett_52_addr= 0x0003F000
    

    under class BLDFUSettings(object): at line 72. I will report this internally so that an option for the 256kB flash variant is added.

    Best regards

    Bjørn

Children
Related