Tips and Tricks#

Many of these tips rely on changes in Preferences. This can be accessed through the Window > Preferences selection, or the Preferences button on the toolbar.

Useful Windows 10 paths#

Default Simplicity Studio Install Path: C:\SiliconLabs\SimplicityStudio

Downloaded location for kit resources: C:\SiliconLabs\SimplicityStudio\v5\offline\aem\www.silabs.com\documents\public\schematic-files

Command line or direct GUI access to Simplicity Commander: C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\commander

Protocol SDK locations for all GSDK SDKs:

  • GSDK 4.x: C:\Users\&ltNAME>\SimplicityStudio\SDKs\gecko_sdk\protocol\<protocol>

  • GSDK 3.x: C:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\<GSDK version>\<protocol>

Beginning with GSDK 4.0, content such as documentation or demos that was previously installed with the SDK is now downloaded after being accessed through Simplicity Studio: C:\SiliconLabs\SimplicityStudio\v5\offline\com.silabs.sdk.stack.super_<version>

Useful Mac OS paths#

Default Simplicity Studio Install Path: /Applications/SimplicityStudio.app/Contents/Eclipse (recommend changing to one word SimplicityStudio.app)

Downloaded location for kit resources: /Applications/SimplicityStudio.app/Contents/Eclipse/offline/aem/www.silabs.com/documents/public/schematic-files

Command line or direct GUI access to Simplicity Commander: /Applications/SimplicityStudio.app/Contents/Eclipse/developer/adapter_packs/commander

Protocol SDK locations for all GSDK SDKs:

  • GSDK 4.x: /Users/&ltNAME>/SimplicityStudio/SDKs/gecko_sdk/protocol/<protocol>

  • GSDK 3.x: /Applications/SimplicityStudio.app/Contents/Eclipse/developer/sdks/gecko_sdk_suite/<GSDK version>/protocol

Beginning with GSDK 4.0, content such as documentation or demos that was previously installed with the SDK is now downloaded after being accessed through Simplicity Studio: /Applications/SimplicityStudio.app/Contents/Eclipse/offline/com.silabs.sdk.stack.super_<version>

Default Project Locations#

Default project locations in your Windows 10 workspace C:\Users&lt;user>\SimplicityStudio Ex: C:\Users\daseymou\SimplicityStudio

Default project locations in your Mac workspace /Users/<user>/SimplicityStudio Ex: /Users/mahallam/SimplicityStudio

Optionally Disable Automatic Updates#

By default, SSv5 checks for updates when you first open it. You can manage update frequency through Preferences > Install/Update > Automatic Updates.

launcher update frequency

Either uncheck Automatically find new updates and notify me or change the Update Schedule selection to use a schedule such as once a week.

If you have turned automatic updates off, you can check for updates by clicking Install on the toolbar, then Manage Installed Packages, and then Check for Updates on the Product Updates tab.

See About Update Frequency for details on the selections available.

Performance Enhancements#

To improve SSv5 performance, try one or more of the following suggestions.

Disable SDKs not being used

If you have installed many different versions of different SDKs and GSDKs over time, go to Preferences, type SDK in the filter field, and uncheck the ones not currently being used.

tips sdks

Disable unused targets or toolchains

If you have installed multiple toolchains but are not using all of them, or are not using all of the targets, disable the unused ones. Go to Preferences and type toolchain or target in the filter field, and uncheck any unused items.

tips toolchains

Use different workspaces for different GSDK versions or compilers

Overloading a workspace with projects and different versions of SDKs can slow down SSv5 operations. Keep separate workspaces for specific project and/or SDK versions and/or toolchains. Note that this is necessary if you are using different versions of the IAR compiler to match different versions of the GSDK.

While you can use File > Switch Workspaces to change workspaces as described in Project Explorer View, if you will be working with different workspaces, you may wish to have SSv5 prompt you on startup about which workspace to use. Go to Preferences > General > Startup and Shutdown > Workspaces and check Prompt for workspace on startup.

Workspace preferences

Then on startup you can select a workspace or create a new workspace by clicking Browse and adding a directory.

Add a directory

Increase heap size

Close SSv5. Use a text editor to open following file within the Simplicity Studio root path, for example: C:\SiliconLabs\SimplicityStudio\v5\studio.ini

In the following figure, the line Xmx5g was added to increase the maximum Java heap SSv5 will use to 5 GBytes. Choose larger or smaller depending on your system resources. Without that line SSv5 defaults to a maximum of one quarter of the system RAM. On a system with 8 GBytes of RAM that would be 2 GBytes and SSv5 might run out of Java Heap space on memory-intensive operations.

tips heap

SDK installation or updates are not working#

The cause might be your IT department using proxy servers, and potentially also man-in-the-middle security monitoring. See the following knowledge base articles for more information on how to work around these situations:

Configuring Simplicity Studio to Work with Proxy Servers

Installing SSL Security Certificates for Simplicity Studio Updates

Speed up debug session startup#

Go to Preferences > Run/Debug > Launching, and under General Options uncheck Build (if required) before launching.

This will interfere with your workflow if you are accustomed to making a change and clicking the Debug button to build the project before launching the project.

Speed up reading large source files#

Enable folding of #if/#ifdef's and if/else, do/while, for, and switch statements in source code. Go to Preferences and type folding in the filter field, and check the three "Enable folding … " options.

tips folding

Speed up the indexer#

If the Indexer is taking a long time to run, close other projects. If still slow, in the Project Explorer view right-click the project directory and select Index > Rebuild.

index rebuild

Restore a perspective layout#

To reset a perspective to its original layout, right-click the perspective button in the toolbar and select Reset.

Find a Version#

Go to Help > About Simplicity Studio for version information. The overall SSv5 version is at the top of the dialog. The Studio Version tab lists version information for all the components that make up SSv5. The Toolchains and SDKs tab lists version information for the installed SDKs and toolchains.

Help about

Report a Bug#

Go to Help > Report bug .... The default selection generates a log file to the location you specify. This is useful if you need to attach a log to a case that's already created.

Hel report a bug

Select Submit bug at Silabs.com if you are creating a new ticket. This generates the log file and provides instructions on creating a ticket.

help submit a bug at silabs.com

Capture a Simplicity Studio 5 Thread Dump#

If Simplicity Studio 5 happens to hang (become unresponsive for several minutes) during an operation, the best way to report this to Silicon Labs is to use a Java tool called jstack to capture a thread dump while the program is still in the hung state. This thread dump can be used by the Silicon Labs team to analyze the hang. If Simplicity Studio 5 is shut down and restarted, a thread dump at that point will not be useful. The jstack tool is included in the Simplicity Studio 5 installed Java Runtime Environment (JRE).

Once you have generated the thread dump file according to one of the following procedures, attach it to a Silicon Labs support case along with other details of what operation was being performed right before the hang as well as any screenshots taken of what was shown in the application. A support case can be created from the Silicon Labs Simplicity Studio Community home page or with this url: https://siliconlabs.force.com/s/contactsupport.

The procedure to use the jstack tool for Windows, MacOS and Linux is described in the following sections.

Windows#

  1. Open Windows Task Manager and go to the Details tab to find the PID for Simplicity Studio (studio.exe).

  2. Open a command prompt and issue the following command, adjusting it based on the Simplicity Studio installation path:

[SIMPLICITY_STUDIO_INSTALLATION]\features\com.silabs.external.java.windows.x86_64.feature_11.0.5\jre\bin\jstack.exe PID > [PATH]\SSv5ThreadDump.txt

For example, with the default installation path:

C:\SiliconLabs\SimplicityStudio\v5\features\com.silabs.external.java.windows.x86_64.feature_11.0.5\jre\bin\jstack.exe -l -e 41068 > C:\temp\SSv5ThreadDump.txt

MacOS#

  1. Open a terminal window.

  2. Use the following command to get the PID:

ps aux | grep studio

This is an example of the output with the pid 76698:

USERNAME@mac0010128 ~ % ps aux | grep studio
USERNAME 76698   5.6  9.7 12491892 1633396   ??  S    Tue09AM  92:52.70 /Applications/SimplicityStudio5.app/Contents/MacOS/studio
USERNAME 19420   0.0  0.0  4268300    680 s000  R+    3:26PM   0:00.00 grep studio
  1. Use the PID with the jstack command

[SIMPLICITY_STUDIO_INSTALLATION]/Contents/Eclipse/jre/Contents/Home/bin/jstack -l -e PID > [PATH]/SSv5ThreadDump.txt

For example

/Applications/Simplicity\ Studio.app/Contents/Eclipse/jre/Contents/Home/bin/jstack -l -e 76698 > ~/Documents/SSv5ThreadDump.txt

Linux#

  1. Open a terminal window.

  2. Use the following command to get the PID:

ps aux | grep studio

This is an example of the output with the pid 10233:

ThinkPad-W530:~$ ps aux | grep studio
USERNAME      10233 10.1 27.3 110505488 2115904 ?   Sl   12:55  10:58 /home/USERNAME/SimplicityStudio_v5//jre/bin/java -Dosgi.requiredJavaVersion=11.0.5 -Xms40m -Declipse.p2.unsignedPolicy=allow -Djava.net.preferIPv4Stack=true -Djxbrowser.ipc.external=true -jar /home/USERNAME/SimplicityStudio_v5//plugins/org.eclipse.equinox.launcher_1.5.600.v20191014-2022.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /home/USERNAME/SimplicityStudio_v5/studio -name Studio --launcher.library /home/USERNAME/SimplicityStudio_v5//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1100.v20190907-0426/eclipse_1801.so -startup /home/USERNAME/SimplicityStudio_v5//plugins/org.eclipse.equinox.launcher_1.5.600.v20191014-2022.jar --launcher.overrideVmargs -exitdata a78007 -vm /home/USERNAME/SimplicityStudio_v5//jre/bin/java -vmargs -Dosgi.requiredJavaVersion=11.0.5 -Xms40m -Declipse.p2.unsignedPolicy=allow -Djava.net.preferIPv4Stack=true -Djxbrowser.ipc.external=true -jar /home/USERNAME/SimplicityStudio_v5//plugins/org.eclipse.equinox.launcher_1.5.600.v20191014-2022.jar
  1. Use the PID with the jstack command:

[SIMPLICITY_STUDIO_INSTALLATION]/jre/bin/jstack -l -e PID > [PATH]/SSv5ThreadDump.txt

For example:

~/SimplicityStudio_v5/jre/bin/jstack -l -e 10233 > ~/Documents/SSv5ThreadDump.txt

Convert an Existing Simplicity Studio 5 Project from GCC to IAR#

  1. Create a new IAR build configuration:

    • Right-click the project folder and select Build Configurations > Manage.

    • In the resulting Manage Build Configurations dialog, click New.

    • Select the IAR ARM build configuration to use (IAR ARM Default recommended) and click OK.

  2. Still in the Manage Build Configurations dialog, select the new build configuration and click Set Active.

  3. Open the project's .slcp file and, on the OVERVIEW tab, click Edit on the Project Generators card.

  4. Select IAR EMBEDDED WORKBENCH PROJECT and click Save.

    For Bluetooth projects steps 5 through 7 are also necessary. For Platform and Flex projects proceed to step 8.

  5. In the Project Explorer view:

    • Right-click the project folder and select Properties.

    • In the resulting Properties dialog, expand C/C++ Build and select Settings.

    • Under Tool Settings select IAR Linker for ARM > Library and select all of the libraries with GCC or gcc in the name or path and also the 'gcc', 'c', 'm' and 'nosys' libraries.

    • Click Delete in the dialog menu.

    • Click Apply and Close.

  6. In the Project Explorer view:

    • Expand gecko_sdk_n.n.n > platform > Device > SiliconLabs > <target-part> > Source.

    • Right-click the GCC folder and select Resource Configurations > Exclude from Build...

    • In the resulting dialog, check the box for the IAR ARM ... build configuration.

    • Click OK

  7. Check if the project contains gecko_sdk_n.n.n > service > udelay > src > sl_udelay_armv6m_gcc.s. If it does, exclude it from the build with the same command as in the previous step.

  8. Build the project. It should be successful. If not, check if any other GCC-specific files exist that need to be excluded from the build configuration.