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

Does someone succeeded to build bootloader with gcc on sdk 9.0.0?

Hi,

We are trying to develop application with OTA DFU on nRF51. And we need to build bootloader ourselves. We use gcc for development. We found the bootloader example for gcc on SDK 9.0.0. So, I built it for s110. However, the bin file is too big to program to device.

-rwxr-xr-x   1 ryoma  staff  268193816 Oct  9 15:53 nrf51422_xxac.bin
-rw-r--r--   1 ryoma  staff      40979 Oct  9 15:53 nrf51422_xxac.hex
-rwxr-xr-x   1 ryoma  staff      91602 Oct  9 15:53 nrf51422_xxac.out

Does someone know the reason? Is this experimental code yet?

Thank you,

Parents
  • Hi, the large .bin file is a result of the bootloader address being stored in the UICR section, hence causing a lot of byte padding (0x3C000 -> 0x10001014 ~ 260 MB) in the binary image. The makefile should have only outputted the .hex for this example.

    You can use the .hex file with nRF utility to prepare an image for DFU, this will strip the UICR section before converting it to .bin, or build the project without the bootloader address.

Reply
  • Hi, the large .bin file is a result of the bootloader address being stored in the UICR section, hence causing a lot of byte padding (0x3C000 -> 0x10001014 ~ 260 MB) in the binary image. The makefile should have only outputted the .hex for this example.

    You can use the .hex file with nRF utility to prepare an image for DFU, this will strip the UICR section before converting it to .bin, or build the project without the bootloader address.

Children
Related