General Information#

Installing Simplicity Commander#

You can install Simplicity Commander using Simplicity Studio or by downloading one of the following standalone versions and then completing the installation:

https://www.silabs.com/documents/public/software/SimplicityCommander-Linux.zip

https://www.silabs.com/documents/public/software/SimplicityCommander-Mac.zip

https://www.silabs.com/documents/public/software/SimplicityCommander-Windows.zip

Command Line Syntax#

To execute Simplicity Commander commands, start a Windows command window, and change to the Simplicity Commander directory. The general command line structure in Simplicity Commander looks like this:

commander [command] [options] [arguments]

where:

  • commander is the name of the tool.

  • command is one of the commands supported by Simplicity Commander, such as, flash, readmem, convert, etc. The command-specific help provides additional information on each command.

  • option is a keyword that modifies the operation of the command. Options are preceded with -- (double dash) as described for each command. Some commands have single-character short versions which are preceded by - (single dash). Refer to the command-specific help for the single-dash shorthands.

  • argument is an item of information provided to Simplicity Commander when it is started. An argument is commonly used when the command takes one or more input files.

  • square brackets indicate optional parameters as in this example: commander flash [filename(s)] [options]

  • angle brackets indicate required parameters as in this example: commander readmem --output <filename>

General Options#

Help (--help)#

Displays help for all Simplicity Commander commands and command-specific help for each command.

Command Line Syntax

$ commander --help

Command Line Usage Output

Simplicity Commander help displays a list of all Simplicity Commander commands. The following figure is an example.

Simplicity Commander HelpSimplicity Commander Help

To display help on a specific Simplicity Commander command, enter the name of the command followed by --help.

Command Line Input Example

$commander flash --help

Command Line Output Example

Simplicity Commander displays help for the flash command in the following figure.

Simplicity Commander Flash Command HelpSimplicity Commander Flash Command Help

Version (--version)#

Displays the version information for Simplicity Commander, J-Link DLL, and EMDLL, and a list of detected USB devices. If you use this option in conjunction with another command or command/option, Simplicity Commander displays this extra information before any command is executed.

Command Line Syntax

$ commander --version

Command Line Usage Output

Simplicity Commander displays version information. The following figure is an example.

Simplicity Commander Version InformationSimplicity Commander Version Information

Device (--device <device name>)#

Specifies a target device for the command. If this option is supplied, no auto-detection of the target device is used. In some cases, such as when using convert with the --token option, this option is required.

For convenience, Simplicity Commander attempts to parse the --device option so that a complete part number is normally not required as a command input. For example, Simplicity Commander interprets commander --device EFR32 to mean that the selected device is an EFR32, which has implications regarding the memory layout and available features of this specific device. As another example, Simplicity Commander interprets --device EFR32F256 as an EFR32 with 256 kB flash memory.

Using a complete part number such as --device EFR32MG1P233F256GM48 is always supported and recommended.

Command Line Syntax

$ commander <command> --device <device name>

Command Line Input Example

$ commander device info --device Cortex M3

J-Link Connection Options#

Use the following options to select a J-Link device to connect to and use for any operation that requires a connection to a kit or debugger. You can connect over IP (using the --ip option), over USB (using the --serialno option), or you can provide the serial port name or device file (using the --identifybyserialport option) as shown in the following examples. You can use only one of these options at a time. If no option is provided, Simplicity Commander attempts a connection to the only USB connected J-Link adapter.

Note: Providing the --identifybyserialport option only lets Simplicity Commander use the serial port name to identify the corresponding J-Link device; Simplicity Commander will still connect to the J-Link device over USB (similarly to when you provide the --serialno option).

Command Line Syntax

$ commander <command> --serialno <J-Link serial number>

Command Line Input Example

$ commander adapter probe --serialno 440050184

Command Line Syntax

$ commander <command> --ip <IP address>

Command Line Input Example

$ commander adapter probe --ip 10.7.1.27

Command Line Syntax

$ commander <command> --identifybyserialport <serial port name>

Command Line Input Example

$ commander adapter probe --identifybyserialport /dev/ttyUSB1

Debug Interface Configuration#

Use the --tif and --speed options to configure the target interface and clock speed when connecting the debugger to the target device.

Simplicity Commander supports using Serial Wire Debug (SWD) or Joint Test Action Group (JTAG) as the target interface. All currently supported Silicon Labs hardware works with SWD, while some can also be used with JTAG. Custom hardware may require JTAG to be used.

The maximum clock speed available typically depends on the debug adapter, the target device, and the physical connection between the two. Silicon Labs kits typically support speeds up to 1000 – 8000 kHz, depending on the kit model. If the selected clock speed is higher than what the adapter supports, the clock speed will fall back to using the highest speed it does support. You may want to select a lower clock speed if the debug connection is unstable or not working at all when working with custom hardware with longer debug cables or when the electrical connections are less than ideal.

If the --tif and --speed options are not used, the default configuration is SWD and 4000 kHz.

Command Line Syntax

$ commander <command> [--tif <target interface>] [--speed <speed in kHz>]

Command Line Input Example

$ commander device info --tif SWD --speed 1000

Command Line Output Example

Setting debug interface speed to 1000 kHz
Setting debug interface to SWD
Part Number	: EFR32BG1P332F256GJ43
Die Revision	: A2
Production Ver	: 138
Flash Size	: 256 kB
SRAM Size	: 32 kB
Unique ID	: 000b57fffe0934e3
DONE

Graphical User Interface#

Displays a Graphical User Interface (GUI) for laboratory use of Simplicity Commander. The GUI can be used in the lab for such typical tasks as:

  • Flashing device images

  • Upgrading Silicon Labs kit firmware and configuration

  • Setting device lock features

  • Accessing the kit's Admin console

  • Communicating with the target device via multiple protocols, including:

    • SEGGER Real Time Transfer (RTT)

    • Serial Wire Output (SWO)

    • Virtual UART (VUART)

    • Virtual COM (VCOM)

Command Line Syntax

$ commander

Timestamp (--timestamp)#

Add a timestamp to the Simplicity Commander output.

Command Line Syntax

$ commander <command> --timestamp

Command Line Usage Output

Display a timestamp to all output from Simplicity Commander.

Command Line Input Example

$commander device reset --timestamp

Command Line Output Example

Simplicity Commander displays the timestamp for the device reset command.

17:00:39.194 Resetting chip...
DONE

Output and Exit Status#

The exit status of Simplicity Commander can take on a few different values. Whenever an operation completed successfully, Simplicity Commander's exit status is 0 (zero). Any error will cause the exit status to be non-zero.

Simplicity Commander defines the following exit status codes.Exit StatusDescription0No error occured-1Input error. For example, this could be a missing command line option, non-existent command, or an invalid filename.-2Run time error. Used whenever anything goes wrong when executing the command. Examples include not being able to connect to a debug adapter or flash verification failed.Note: Some operations systems present the exit status as an unsigned integer. On these systems, -1 will be interpreted as 255, -2 as 254, and so on.

The operating system itself may create other exit codes if the application crashes. These will always be non-zero and are out of the control of Simplicity Commander.

All errors and potential error conditions are indicated in Simplicity Commander's output in addition to the exit status. All errors are displayed with the prefix "ERROR:". All warnings are displayed with the prefix "WARNING:".

Any output from Simplicity Commander will always end with "DONE". This does not indicate that the operation was successful, merely that execution has finished.

Example of an error in Windows follows.

C:\>commander device info -s 440000000
ERROR: Unable to connect with device with given serial number
ERROR: Could not open J-Link connection.
DONE
C:\>echo %errorlevel%
-2