First-Time Installation and Setup#
This section describes how to install and configure the Silicon Labs command line development environment, from initial setup through everyday usage. The instructions apply to Windows, macOS, and Linux, with operating system-specific notes where required.
Overview of Packages for Command Line Development#
Command line development requires a combination of Software Development Kits (SDKs) and tools that are installed and managed through the Silicon Labs Tool (SLT).
Required and Optional SDKs#
The simplicity-sdk is required. The following SDK extensions are optional, depending on your development needs:
aiml
sidewalk
matter_extension
wiseconnect
Required and Optional Tools#
slc-cli
cmake
ninja
commander
exx32
gcc-arm-none-eabi
sdm
zap (optional; required for Matter and Zigbee projects)
Note: There is a package named
slc_cliavailable, but it is out of date. Do not install it. Always useslc-cli.
Recipes#
SLT supports installing multiple packages using recipe files. You can place all of the packages described above in a recipe file with the default name pkg.slt. Other filenames with the .slt extension can be used but they must be specified on the slt command line. See Create a Recipe.
Installation and Setup#
Step 1: Download SLT-CLI#
SLT can be downloaded from the Silicon Labs website or it can be downloaded from a Linux or MacOS terminal or a Windows PowerShell terminal using wget.
To download SLT using a web browser, go to the Silicon Lab Tools (SLT) page.
Note: SLT-CLI is included when you install the Simplicity Installer (GUI). By default, it is located at:
Windows:
C:\Users\USERNAME\AppData\Local\Programs\SimplicityInstaller\resources\slt.exeMacOS:
/Applications/SimplicityInstaller.app/Contents/Resources/sltLinux:
/opt/SimplicityInstaller/resources/sltHowever, the steps in this section describe how to manually install and configure SLT-CLI, which may be necessary for headless environments or standalone usage outside the Simplicity Installer GUI.
To download SLT from a terminal, select the appropriate URL from the following list (replace
x.x.xwith the latest available version) and use awgetcommand:https://www.silabs.com/documents/public/software/slt-cli-x.x.x-windows-x64.ziphttps://www.silabs.com/documents/public/software/slt-cli-x.x.x-mac-x64.ziphttps://www.silabs.com/documents/public/software/slt-cli-x.x.x-mac-arm64.ziphttps://www.silabs.com/documents/public/software/slt-cli-x.x.x-linux-x64.zip
For example, from a Windows PowerShell terminal, run the following command from the directory where you want to download SLT:
wget https://www.silabs.com/documents/public/software/slt-cli-1.1.0-windows-x64.zip -O slt-cli.zip`This commands downlands the archive as slt-cli.zip, which contains the slt.exe executable.
Note: Ensure that the latest version of slt is installed by running
./slt update --selffrom the expandedslt-clidirectory.
Step 2: Create a Recipe for Command Line Development#
Recipe files use the .slt extension and define the SDKs and tools to install.
Create the recipe file, pkg.slt, in your root folder. Open a text editor, paste the following code block into the file, and then save the file with the desired name:
# This is the recipe file driving the command line tool install flow in SLT
# Version defaults to 0 if not defined
version = "0"
# All packages to install are under this header
[dependency]
# SDKs
aiml="~"
sidewalk="~"
matter_extension="~"
wiseconnect="~"
simplicity-sdk="~" # required
# Tools
cmake = "~"
commander = "~"
exx32 = "~"
gcc-arm-none-eabi = "~"
ninja = "~"
sdm = "~"
slc-cli = "~"
zap = "~"Step 3: Set the SLT Location in the PATH#
In Windows, type Edit System Variables in the search field to find the System Properties dialog.
Click Environment Variables.
Select Path, then click Edit.
Add the directory that contains the
sltexecutable.
For macOS and Ubuntu installations, the slt directory is added to the PATH based on the shell in use. On both macOS and Ubuntu, you can determine the active shell by opening a terminal window and running echo $0.
If the directory is not added automatically, follow the appropriate instructions to add it to your PATH.
The default shell on macOS is zsh, and on Ubuntu it is typically bash. In most cases, the PATH is updated by editing or creating the following files:
macOS:
~/.zshrcUbuntu:
~/.bashrc
Step 4: Install the SDK and Tools#
Open a terminal or command prompt.
Change the directory by typing
cdto theusers\USERNAMEfolder.Enter the command,
slt install.Note: If you name the recipe file anything other than
pkg.slt, you specify the file name explicitly using the command:slt -f <filename>.slt.
The tools and SDK are installed in the user's .silabs/slt/installs folders. The SDK and SDK extensions will always be in the conan/p subfolder. The various tools will be in either the archive or conan/p folder depending on the package type.
slt generates some additional files that are useful in a CI/CD flow. By default the files will be located in the folder that contains the pkg.slt file. This is a description of each file:
pkg.lock
This is a version of thepkg.sltfile with the exact installed package versions called out. It can be shared and otherwise used as a recipe file to duplicate the installation of the installed packages including the exact version. To use it pass it like thisslt install -f pkg.lockuser.slconf
This is an.slconffile that is meant to be edited by the user and it will not be modified byslt. It can be used in a CI/CD environment and then edited to call out the project (.slcp) or workspace (.slcw) file to use with anslc generatecommand. Otherslcarguments can be specified in the file, such as--witharguments.autogen/pkg.slconf
This file is automatically generated bysltand it will be overwritten with eachsltcommand so it should not be modified by the user. Theuser.slconfincludes its contents with this lineinclude autogen/pkg.slconf. It contains the paths to the tools, toolchain and SDKs / SDK extensions installed byslt. So it removes the requirement of manually adding the toolchain-path, sdk-package-path, and toolchain entries into any.slconffile that includes it. It is provided to make it easy to use the installed packages with slc generate commands.
Step 5: Verify the SLT-CLI Installation#
slt --versionStep 6: Set Java Path#
When slc-cli is installed using SLT, the correct Java version is installed automatically as a dependency. However, the Java executable path must be added to the system PATH variable.
Add the paths to Java and slc-cli from your .silabs directory. Directory names may vary depending on the installed versions.
Note: Ensure there is not another version of Java earlier in your system PATH, as it may conflict with SLT's required Java version.
.silabs\slt\installs\archive\java21-v21.0.5\java21_windows_x86_64\jre\bin.silabs\slt\installs\archive\slc-cli-v6.0.15
Step 7: Generate and build SDK sample app#
See SLC Project Generation Example for details on using SLC-CLI.