Table of Contents

Firmware update from SD-Card or NAND


This VI performs a software update from sd card.

A application that was built to boot from ProgDongle can be downloaded from the templates page.

Detailed operation

The vi ZB.fimware.update.vi (since 4.1.1) can be executed from any position in the Application (FDM and compiled). The vi executes the following steps.

  1. A reset is executed.
  2. The device boots into the boot loader application
  3. If a display is provided Messages about the update progress are displayed.
  4. The boot loader application looks for a *.zfu file in the root directory.
  5. The following points are checked before the update starts:
    1. Is there exactly one *.zfu file in the root directory?
    2. Is there a *.ldr file with the same name in the same directory?
    3. Does the size in the zfu file match the size of the loader file?
    4. Does the check sum in the zfu file match the calculated check sum of the loader file?
    5. Does the target in the zfu file match the target the boot loader was built for?
  6. If all points above are ok, the ldr file is flashed into the boot flash.
  7. A reset is executed
  8. The flashed application is started

Operation without display

If no display refnum is wired to the vi, the firmware update is performed without display.

ZFU file

When building a standalone file with Zbrain SDK 4.1.1 or later two files are generated. The loader file (*.ldr) and a Zbrain SDK firmware update definition file (*.zfu).
The zfu file consists of a set of parameters that influence the firmware update process. It is automatically generated when creating a loader file.

###################################
# Firmware update definition file
###################################
name=FDMinterpreter
target=ZMC
size=001E3E56
chksum=00EF
deletme=0
waitbeforereset=15

Lines started with a # are ignored and can be used for comments

Advantages

Limitations