How can I capture the entire flash contents of my device (including manufacturing and stack token data), i.e. "hex dump"?
We have methods for capturing flash data from all of our radio parts. These methods differ by family. This KBA will describe dumping data for the following families:
Please use the tools described for your part.
EFR32MG (and EM3xx for some functions)
You can use Simplicity Commander for many functions including downloading areas of memory from your part to your computer as well as flashing programs and data to the device.
UG162 Simplicity Commander Reference Guide describes all of the features and commands available in the utility, but for this purpose you will use readmem with either memory locations or @regions as parameters.
(Try commander readmem --help)
Memory location: supply the --range flag:
C:\> commander readmem --range 0x000:0x40000 --outfile dumpfile.hex
This will send the output to a file. To send it to the screen, omit the --outfile <filename> switch.
Ranges can be specified in two formats:
If you have more than one device attached on the computer or network, you might need to add the serial number or IP address of the device and the part , for example
C:\> commander readmem --range 0x000:0x40000 -s 440038365 -d EFR32MG12P433F1024GL125
To dump the whole flash, It is probably more useful to include the regions of interest than the specific addresses, so in most cases, you would specify each region as follows:
C:\> commander readmem --region @mainflash --region @userdata --region @bootloader -s 440038365 -d EFR32MG12P433F1024GL125 --outfile dumpregions.hex
The regions available per part family are:
EFR32: @minflash, @userdata, @lockbits, @devinfo, @bootloader
EM3xx: @mfb, @cib, @fib. @bootloader
EM35x (older tools)
Flash data from an EM35x chip can be captured using em3xx_load.exe, which is part of the ISA3 Utilities installer. (Note that Simplicity Commander can be used as well, as described above.)
To capture the contents of the main flash block (MFB, which includes application firmware, bootloader firmware, and SimEEPROM token data) from a device in a standard Motorola S-Record (S37 file format), use a command like:
C:\>em3xx_load --ip 10.0.0.1 --read @mfb foo.s37
(Replace the IP address with that of the ISA3 you have attached to the target EM35x device, or the --ip argument can be omitted if the target’s ISA3 is attached via USB).
If the Flash Information Block (Ember-programmed manufacturing tokens) or Customer Information Block (customer-programmed manufacturing tokens) are desired in the captured data, the '@fib' and '@cib' arguments can be added to the command line.
See http://en.wikipedia.org/wiki/SREC_(file_format)for more information about how to interpret Motorola S-Record file contents. Note that Simulated EEPROM (usually the last 8KB of main flash contents) is specially wear-leveled for token data usage and therefore is not straightforward to interpret. If you need assistance interpreting your token data from an S37 file, please contact Ember customer support.
Flash data from an EM2xx chip can be captured using em2xx_read.exe, which is part of the SIF Toolkit installed by xIDE For EM250 or by the EmberZNet EM260 installer.
To capture the contents of a device in a standard Intel HEX record (HEX file format), use a command like:
em2xx_read -id 10.0.0.1 -includeSIMEE -outfile foo.hex
(Replace the IP address with that of the InSight Adapter you have attached to the target EM2xx device or with the USBLink device ID of the USBLink attached to your target.)
Note that older versions of the SIF Toolkit may not work with USBLink devices (such that EM2USBRead.exe from the USBLink toolkit is required instead), and these versions require the ”-id” flag to be replaced with '-sid' for InSight Adapter targets.
See http://en.wikipedia.org/wiki/Intel_HEX for more information about how to interpret Intel HEX file contents. Note that Simulated EEPROM (in the last 8KB of main flash contents) is specially wear-leveled for token data usage and therefore is not straightforward to interpret. If you need assistance interpreting your token data from a HEX file, please contact Ember customer support.