EBL Commands#
Print EBL Information#
Parses and prints EBL information from the specified .ebl file.
Command Line Syntax
$ commander ebl print <filename>
Command Line Input Example
$ commander ebl print example.ebl
Command Line Output Example
Found EBL Tag = 0x0000, length 140, [EBL Header]
Version: 0x0201
Signature: 0xE350 (Correct)
Flash Addr: 0x00004000
AAT CRC: 0x53BC1F4E
AAT Size: 128 bytes
HalAppBaseAddressTableType
Top of Stack: 0x20006980
Reset Vector: 0x000121F9
Hard Fault Handler: 0x00012125
Type: 0x0AA7
HalVectorTable: 0x00004100
Full AAT Size: 172
Ember Version: 5.7.0.0
Ember Build: 0
Timestamp: 0x561E581F (Wed Oct 14, 2015 13:26:55 UTC [+0100])
Image Info String:''
Image CRC: 0x2ACE0C5B
Customer Version: 0x00000000
Image Stamp: 0xF4271F50BA2E2FBA
Found EBL Tag = 0xFD03, length 1924, [Erase then Program Data]
Flash Addr: 0x00004080
Found EBL Tag = 0xFD03, length 2052, [Erase then Program Data]
Flash Addr: 0x00004800
(32 additional tags of the same type and length.)
Found EBL Tag = 0xFD03, length 1772, [Erase then Program Data]
Flash Addr: 0x00015000
Found EBL Tag = 0xFC04, length 4, [EBL End Tag]
CRC: 0xDBC82DA5
The CRC of this EBL file is valid (0xdebb20e3)
File has 0 bytes of end padding.
Calculated image stamp matches value found in AAT.
DONE
EBL Key Generation#
Generates a keyfile to be used for encryption or decryption and outputs the keyfile to the specified filename.
Command Line Syntax
$ commander ebl keygen --type aes-ccm --outfile <filename>
Command Line Input Example
$ commander ebl keygen --type aes-ccm --outfile key.txt
Command Line Output Example
Using /dev/random for random number generation
Gathering sufficient entropy... (may take up to a minute)...
DONE
EBL File Creation#
Creates an EBL file from an application image and writes the output to the specified filename. Can optionally encrypt the EBL file using a keyfile generated by the ebl keygen
command.
Command Line Syntax
$ commander ebl create <eblfile> --app <filename> --device <part number> [--encrypt <keyfile>]
Command Line Input Example
$ commander ebl create app.ebl.encrypted --app example.s37 --device EFR32F256 --encrypt key.txt
Command Line Output Example
Parsing file example .s37...
Parse .s37 format for flash
Flash Usage:
Reserved for Bootloader: 0x00000000-0x00003fff (16384 bytes)
CODE and Tables: 0x00004000-0x00014ddb (69084 bytes)
CONST and INITC: 0x00014ddc-0x000184ab (14032 bytes)
Available for future use: 0x000184ac-0x0003dfff (154452 bytes)
Reserved for SIMEE: 0x0003e000-0x0003ffff (8192 bytes)
Usage Summary:
262144 total bytes Flash, 107692 used, 154452 available
Setting AAT timestamp to current time: 0x586e1ec9
Create ebl image file
Wrote image stamp into AAT.
Encrypting EBL...
Unencrypted input file: ebl_plaintext_ux8544.ebl
Encrypt output file: app.ebl.encrypted
Randomly generating nonce
Using /dev/random for random number generation
Gathering sufficient entropy... (may take up to a minute)...
Created ENCRYPTED ebl image file
DONE
EBL File Parsing#
Parses an EBL file and writes the application image to the specified filename. Optionally decrypts an encrypted EBL file. The keyfile must be the same as was used for encrypting the encrypted EBL file.
Command Line Syntax
$ commander ebl parse <ebl filename> --app < filename> --device <part number> [--decrypt <key filename>]
Command Line Input Example
$ commander ebl parse example.ebl.encrypted --app app.s37 --device EFR32F256 --decrypt ../aeskey
Command Line Output Example
Unencrypted output file: ebl_plaintext_L10567.ebl
Encrypt input file: example.ebl.encrypted
MAC matches. Decryption successful.
Created DECRYPTED ebl image file
Parse .ebl format for flash
Create image file
Writing application to app.s37...
DONE
Memory Usage Information from AAT#
For applications containing an Application Address Table (AAT), Simplicity Commander can analyze the memory usage of the application. The AAT is included in Zigbee applications.
RAM usage is only available for EM3xx applications. Applications built for EFR32 can only be analyzed for flash usage.
Command Line Syntax
$ commander ebl aat-usageinfo <filename> --device <part number>
Command Line Input Example
$ commander ebl aat-usageinfo example.s37 --device EM357
Command Line Output Example
Parse .s37 format for flash
Approximate Usage Information:
RAM Usage:
APPLICATION_CONFIGURATION_HEADER usage: 0x20000000-0x20000fc3 (4036 bytes)
Available for future use: 0x20000fc4-0x2000195f (2460 bytes)
Call Stack: 0x20001960-0x200022bf (2400 bytes)
Globals and Statics: 0x200022c0-0x20002fe8 (3369 bytes)
Alignment Overhead: 0x20002fe9-0x20002fef (7 bytes)
NO_INIT and Debug Channel: 0x20002ff0-0x20002fff (16 bytes)
Flash Usage:
Reserved for Bootloader: 0x08000000-0x08001fff (8192 bytes)
CODE and Tables: 0x08002000-0x08011cdf (64736 bytes)
CONST and INITC: 0x08011ce0-0x08014263 (9604 bytes)
Available for future use: 0x08014264-0x0802dfff (105884 bytes)
Reserved for SIMEE: 0x0802e000-0x0802ffff (8192 bytes)
Usage Summary:
12288 total bytes RAM, 9828 used, 2460 available
196608 total bytes Flash, 90724 used, 105884 available
DONE