I am new to nordic ble chips.
I am using nrf52832 ble chip, s132_nrf52_3.0.0_softdevice
I am trying to update firmware on the air. But I am getting an error that I do not understand. I have attached the screenshot to log from nrf connect app.
Please help me understand the error.
Thanks in advance.
If you take a look at DFU Transport layer documentation, found here, you'll see that NRF_DFU_RES_CODE_INSUFFICIENT_RESOURCES means that there is not enough memory for the data object, i.e. the firmware image is to large. Please describe all the steps you took when performing the DFU, e.g are you using the sample images in the SDK or did you generate your own DFU image? If so, post the nrfutil command used to generate it.
I am using sample bootloader image with minor modification. Instead of setting and clearing gpio to enter bootloader mode, I am using setting and clearing retention registers to enter the bootloader mode.
Softdevice version s132_pca10040 and my custom firmware image.
Steps taken to generate firmware + bootloader image.
nrfutil settings generate --family NRF52 --application --application-version 5 --bootloader-version 2 --bl-settings-version 1
mergehex -m <saber_Bl_settings image> -o
Steps taken to generate OTA firmware build image
nrfutil pkg generate --hw-version 52 --sd-req 0x8C --application-version 5 --application --key-file private.pem sdfu_package.zip
The bootloader settings hex must not be merged with the bootloader hex when you're creating a BLE DFU image as this will add an additional 4kB to the hex file. You should only merge the settings with the bootloader hex when you're flashing the combined image to your nRF52 device using a programmer and you want the device to boot to the application and not stay in bootloader mode.
Thanks for the feedback. It worked.
Great! I would appreciate if you could mark the answer as coorect/accepted by clicking the check-mark in the grey circle to the left of the answer.