Troubleshoot Environment Issues#

Objective#

Identify and resolve common development environment issues when using Silicon Labs Tool (SLT) and Silicon Labs Configurator CLI (SLC-CLI).

This section summarizes common environment issues and recommended solutions.

1. SLT Command Not Found#

Issue

The slt command is not recognized after installation.

Solution

Add the SLT installation directory to your system PATH.

Windows#

Add the directory that contains slt.exe to the Path environment variable.

macOS#

echo 'export PATH=$PATH:/path/to/slt' >> ~/.zshrc
source ~/.zshrc

Linux#

echo 'export PATH=$PATH:/path/to/slt' >> ~/.bashrc
source ~/.bashrc

2. Java Version Conflict#

Issue

Another Java installation appears earlier in the system PATH, causing conflicts with SLT.

Solution

Ensure that the Java 21 runtime installed by SLT appears before any other Java installation.

Windows#

.silabs\slt\installs\archive\java21-v21.x.x\jre\bin

macOS/Linux#

~/.silabs/slt/installs/archive/java21-v21.x.x/jre/bin

3. SLC-CLI Command Not Found#

Issue

The slc command is not recognized.

Solution

Add the SLC-CLI installation directory to your PATH.

Windows#

.silabs\slt\installs\archive\slc-cli-v6.x.x

macOS/Linux#

~/.silabs/slt/installs/archive/slc-cli-v6.x.x

4. SDK Not Trusted#

Issue

SLC-CLI does not detect or load an SDK or SDK extension.

Solution

Trust the SDK or extension before you use it.

## Trust an SDK
slc signature trust --sdk <sdk_path>

## Trust an extension by path
slc signature trust -extpath <extension_path>

## Trust an extension by ID
slc signature trust -extid <extension_id>

Note: SLC-CLI ignores untrusted SDKs and extensions without displaying an error.

5. SDK Not Configured#

Issue

SLC commands fail because no default SDK is configured.

Solution

Configure the default SDK.

slc configuration --sdk=<sdk_path>

## Verify configuration
slc configuration -e

Without a configured SDK, you must specify --sdk (or an equivalent SDK path option) for every SLC command.

6. GCC Toolchain Not Found#

Issue

The project cannot build because the Arm GCC toolchain is missing or not configured.

Solution

Configure the toolchain:

slc configuration --gcc-toolchain=<gcc_path>

Or set the environment variable:

export ARM_GCC_DIR=<gcc_path>

If the toolchain is not installed:

slt install gcc-arm-none-eabi

Verify the installation:

slt where gcc-arm-none-eabi

7. SDK Installation Blocked#

Issue

Installing a new SDK version fails because installed SDK extensions require updates.

Solution

Allow SLT to update compatible extensions.

slt install simplicity-sdk/<version> --check-updates

8. Network Access Issues (Dev Containers)#

Issue

Development containers cannot access package repositories or extension marketplaces because of proxy restrictions or SSL inspection.

Solution

Configure the corporate SSL certificate:

bash .devcontainer/scripts/configure_cursor_ssl.sh

Alternatively, install the required extensions manually.

9. Project Upgrade Requires Manual Steps#

Issue

slc upgrade stops because manual migration steps are required.

Solution

Force the upgrade and complete the manual steps listed in the output.

slc upgrade \
    -p project.slcp \
    --sdk-package-path <new_sdk_path> \
    --force-upgrade

Quick Diagnostic Checklist#

Verify

Command

SLT version

slt --version

SLC configuration

slc configuration -e

SDK installation

slt where simplicity-sdk

GCC toolchain

slt where gcc-arm-none-eabi

Java installation

slt where java21

Installed packages

slt list

Best Practices#

  • Keep SLT and SLC-CLI up to date.

  • Ensure that SLT uses the bundled Java 21 runtime.

  • Add the SLT and SLC-CLI installation directories to your system PATH.

  • Verify SDK and toolchain locations by using slt where.

  • Trust SDKs and extensions before you generate projects.

  • Commit project configuration files (pkg.slt, pkg.lock, and user.slconf) to source control for reproducible environments.