nrf51822 創建DFU的鏡像文件方法

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 nrfutil.exe tool that is installed with the Master Control Panel (named nrf.exe in Master Control Panel versions <3.10.0). By default, the tool is located in the C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\<version>\nrf\folder on Windows. For Linux and OS X users, nrfutils is available as a standalone python package with command line utility on the Nordic Semiconductor GitHub profile. Run nrfutil.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\binfolder.

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>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章