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