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

Tool for generating binary of dfu with real size

Hi!

I would like to generate a dfu bootloader binary image that is not too big and I found the work around for the issue here: https://github.com/NordicSemiconductor/Android-nRF-Connect/blob/master/init%20packet%20handling/How%20to%20generate%20the%20INIT%20file%20for%20DFU.pdf

Is there a nordic tool or a compiler flag or something like that for this or do I really need the remove the 2 lines from the hex file manually?

Why is this offset in the bin file of the dfu but not in the one of the normal applications? Since they also have an offset from the beginning of the flash region, due to the softdevice.

Thanks!

Parents
  • Hi Sonja, 


    Could you let us know which SDK you are using ? 

    The tutorial you pointed to is very old and most parts are obsoleted. Have you tried to follow the documentation ? Or follow my step by step guide here

    Note that in current SDK we don't need to generate binary file, just the hex file is enough. The nrfutil.exe tool can do the task to generate .zip package file. 

  • Hi!

    We use SDK v13.

    The thing is that we don't want to generate a dfu zip package but an individual update container for which we need a binary that only contains the bootloader. Is should have the right size and not several MB.

    Thanks!

  • My understanding is that you want to make your own DFU package instead of the .zip?

    The reason when you convert to binary it's about hundreds of MB was because it has data to be written into UICR which located at 0x10001000. The binary format doesn't have address, so to get to that address it has to add padding value 0xFFFFFFFF in. When updating via DFU, you don't need the information at UICR to be transmitted. 

    You can modify the hex file to remove the UICR part in the hex, it follows intel hex format. 

    But the easier way is to use our nrfutil.exe tool to generate the .zip and then open the .zip to get the binary file. The binary should be the actual bootloader image, with no UICR. 

Reply
  • My understanding is that you want to make your own DFU package instead of the .zip?

    The reason when you convert to binary it's about hundreds of MB was because it has data to be written into UICR which located at 0x10001000. The binary format doesn't have address, so to get to that address it has to add padding value 0xFFFFFFFF in. When updating via DFU, you don't need the information at UICR to be transmitted. 

    You can modify the hex file to remove the UICR part in the hex, it follows intel hex format. 

    But the easier way is to use our nrfutil.exe tool to generate the .zip and then open the .zip to get the binary file. The binary should be the actual bootloader image, with no UICR. 

Children
Related