User's Guide

ThingMagic Micro Family User Guide
Review Copy 11-6-10
19
3 Firmware Overview
www.JADAKtech.com
The following section provides detailed description of the Micro firmware components.
Boot Loader
The boot loader provides low-level functionality and hardware support for configuring communication
settings, loading Application Firmware, and storing and retrieving data to/from flash.
When a module is powered up or reset, the boot loader code is automatically loaded and executed. The
command to switch control from bootloader to application is issued internally, but the module’s
acknowledgement is sent to the host. Looking for this acknowledgement in the API Transport Log is a good
way to determine if the module has rebooted (due to input DC power supply inadequacy, for example).
NOTE: Unlike previous ThingMagic modules, the Micro bootloader should effectively be invisible to the
user. The Micro is by default configured to auto-boot into application firmware and for any
operations that require the module be in bootloader mode the MercuryAPI will handle the
switching automatically.
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 Micro
Applications to control the Micro 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 www.jadaktech.com.
Upgrading the Micro
New features developed for the Micro 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 firmware, 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.
Custom On-Reader Applications
The Micro does not support installing customer applications on the module. All reader configuration and
control is performed using the documented MercuryAPI methods in applications running on a host
processor.