Metis
Programmer Sample Code and Application
Overview
Metis
Programmer is a simple application for
downloading firmware using the Metis command mode. (The
companion Metis Programmer
uses the
bootloader mode.)
The Metis Programmer folder is included in the
Metis disk image, and includes a code signed
application. You must set your security permission level
to run signed applications (see Firewalls
instruction.)
The program uses MetisDiscovery
to find the
Metis device, and obtains the Metis device's IP address,
host IP and the host port used during discovery from the
Metis object that was created by MetisDiscovery.
The addresses are then used to initialize a MetisProgrammer
object.
Usage
When launched, the
Metis Programmer application looks for a Metis device
(Hermes, Angelia, or a stand-alone Metis board) on all the
Ethernet interfaces that are connected to the computer. For
this reason, it is safest to power down all Metis devices
that you do not intend to upgrade firmware.
If no command mode Metis is found, the following alert will
appear.
When using Metis Programmer, the bootloader jumper
must
not be
installed. Metis will not appear as an IP device on the
network if the bootloader jumper is present. The jumper
header is labeled JP12 on a Hermes board, JP17 on an
Angelia board, and JP1 on a stand-alone Metis board.
Allow 10 to 15 seconds after powering up the device before
trying to reach it. This gives time for the device to lease
an IP address from the network router. If there is no
router on the network, give the device some extra time to
abort from its search for a router and present itself on
the network using an APIPA address.
If the Metis device is found, you will see the Metis
Programmer window:
Clicking on Download
Firmware brings up a file open dialog
which you use to navigate to the file that you wish to
download to Metis. Programming starts immediately after a
file (with .rbf file extension) is selected. The
application goes through an
Erase cycle,
followed by a
Write cycle.
Erase could take more than 10 seconds, so be patient.
If everything works properly, the final window will appear: