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

dfu_application.zip content

Hi,
working with NCS v1.4.2, I see building products for an <app> landing into subfolder <app>/build/, in several flavours

app_moved_test_update.hex
app_signed.hex
app_test_update.hex
app_to_sign.bin
app_update.bin
merged.hex

There is an additional file
dfu_application.zip
which contains
- app_update.bin
- manifest.json

Is the zipped file allowed to be arbitrarly populated ?
For example, how to make the system to include merged.hex into archive ?

  • The app_update.bin file will be used to update the application, and should get put into the secondary flash, so if you have another image that should get placed e.g. after your application, you can merge it with app_to_sign.bin and then sign it yourself. I think that should work fine.

    I'm not too familiar with manifest.json files and dfu_application.zip. Also I'm not sure if you are able to use a hex file instead of a binary file, then you would need to convert it to binary format before putting it into the secondary flash.

    What does your merged.hex file contain? Does it contain the mcuboot? Is your goal to update both the mcuboot as well as the application? Please tell me if that is the case and I will instruct you how to achieve this.

    It would be useful if you can give me some more information about your setup. What is your final goal? What images do you want to merge, and update? Why are you using the dfu_application.zip instead of just the .bin file directly?

    Best regards,

    Simon

     

  • Hi Simon,
    thank you for the reply.
    We have one single application, which is multi-image, because it includes mcuboot as a child-project.

    We use merged.hex to flash the board for the very first time in the production plant, using SEGGER JLink and the Programmer app bundled with nRF Connect for Desktop.
    We use app_update.bin instead to re-flash the product in the field, using mcumgr client via UART

    Thus we have two files to release, merged.hex and app_update.bin.

    I had interpreted dfu_application.zip as a way of choice for NCS to deliver the program for deployment.
    If my assumption is wrong, forget it and close the ticket.

  • Is the zipped file allowed to be arbitrarly populated ?
    For example, how to make the system to include merged.hex into archive ?

    I don't see any issues with putting the merged.hex file into the dfu_application.zip file, but it doesn't seem intuitive to me, since the manifest.json file contains information about the app_update.bin file. However, I can see that the dfu_application.zip file may be more useful to use, instead of the app_update.bin file alone, since it is easier to keep control and organize the updates.

Related