How do I dump the contents of an EM2xx chip?
This FAQ explains how to view or dump the contents of an EM2xx chip, for the purposes of preserving a copy of the Flash data or viewing manufacturing token data or Simulated EEPROM data, using em2xx_unload.exe from the SIF Toolkit.
em2xx_unload.exe can be used to view the contents of Flash memory on an EM2xx chip such as the EM250 or EM260. This program is part of the SIF Toolkit software package, which is installed as an optional component of the "xIDE for EM250" software suite or installed as part of an EM260 EmberZNet software release (EmberZNet versions 2.4 and higher). It is a command line tool located in the same directory as em2xx_load.exe, which is generally added to Windows PATH environment variable, such that the command can be executed from any working directory. (If not, you may need to switch to the directory containing this executable in order to run it.)
To use em2xx_unload, your EM2xx chip must be connected to an InSight Adapter via the 10-pin InSight Port interface, and the InSight Adapter must be accessible via Ethernet. Note that using this command line utility will stop the execution of code on the EM2xx device, requiring it to be run from the beginning.
Typing "em2xx_unload -?" at the command line yields the usage syntax. Here are a few common use cases for the command, using myAdapter to represent a hostname or IP address of your InSight Adapter connected to the target EM2xx chip...
To dump the entire Flash Information Area (FIA), the write-once area where the manufacturing token data reside, use the following command:
em2xx_unload -sid myAdapter -Mfg 5000-5400
To dump the entire Simulated EEPROM area of Flash, where the stack and application token data reside, use the following command:
em2xx_unload -sid myAdapter F000-FFFF
To dump a specific range of Flash, such as addresses E000-F000, you can use any of the following commands:
em2xx_unload -sid myAdapter E000-F000
em2xx_unload -sid myAdapter E000+0x1000
em2xx_unload -sid myAdapter E000+4096
NOTES:
- All addresses are specified in 16-bit words.
- The starting address is interpreted as hexadecimal, as is the end of an address range, such as XXXX - YYYY.
- An offset (such as YYYY in XXXX+YYYY) is interpreted as decimal unless prefixed by 0x.
- Login to post comments









