nRF51 SDK - S110 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Creating an image file

The format of the firmware image that you use to update the device firmware depends on the tool that you use to perform the DFU. The DFU bootloader expects the image in binary format; however, some tools automatically convert the image from HEX format to binary format.

Creating a zip with image and init packet

If you use Master Control Panel or other tools by Nordic Semiconductor to update the device firmware, you must provide a zip that contains the image file and a corresponding init packet. To create this zip file, use the nrf.exe tool that is installed with the Master Control Panel. By default, the tool is located in the C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\<version>\nrf\ folder. Run nrf.exe dfu genpkg --help to display usage instructions.

You can add the following firmware images in binary format to the zip file:

  • --application image.bin: a binary image of an application
  • --bootloader image.bin: a binary image of a bootloader
  • --softdevice image.bin: a binary image of a SoftDevice

You can also combine several images in one zip file.

In addition to the images, you must specify the information that will be added to the init packet:

  • --application-version version: the version of the application image, for example, 0xff
  • --dev-revision version: the revision of the device that should accept the image, for example, 1
  • --dev-type type: the type of the device that should accept the image, for example, 1
  • --sd-req sd_list: a comma-separated list of FWID values of SoftDevices that are valid to be used with the new image, for example, 0x4f,0x5a

Creating a binary image

When you compile an application in Keil, two images are created:

  • A HEX file
  • An AXF (ELF) file

In most cases, you can use the image in HEX format to perform the DFU. If you need a binary image, use the command line tool fromelf.exe to convert the AXF file into a binary image. The tool is located in the <KeilFolder>\ARM\ARMCC\bin folder.

Call fromelf.exe as follows to convert an AXF image into a binary file:

<Keil-folder>\ARM\ARMCC\bin\fromelf.exe --bin --output <outfile.bin> <infile.axf>