User's Manual

Application Firmware
A DIVISION OF TRIMBLE
Firmware Overview 61
Application Firmware
The application firmware contains the tag protocol code along with all the command
interfaces to set and get system parameters and perform tag operations. The application
firmware is, by default, started automatically upon power up.
Programming the ThingMagic Nano
Applications to control the ThingMagic Nano module and derivative products are written
using the high level MercuryAPI. The MercuryAPI supports Java, “.NET” and C
programming environments. The MercuryAPI Software Development Kit (SDK) contains
sample applications and source code to help developers get started demoing and
developing functionality. For more information on the MercuryAPI see the MercuryAPI
Programmers Guide and the MercuryAPI SDK, available on the ThingMagic website.
Upgrading the ThingMagic Nano
New features developed for the ThingMagic Nano are made available to existing modules
through an Application Firmware upgrade, along with corresponding updates to the
MercuryAPI to make use of the new features. Firmware upgrades can be applied using
the MercuryAPI to build the functionality into custom applications or using the MercuryAPI
SDK demo utilities.
Verifying Application Firmware Image
The application firmware has an image level Cyclic Redundancy Check (CRC) embedded
in it to protect against corrupted firmware during an upgrade process. (If the upgrade is
unsuccessful, the CRC will not match the contents in flash.) When the boot loader starts
the application FW, it first verifies that the image CRC is correct. If this check fails, then
the boot loader does not start the application firmware and an error is returned.