The Simplicity Commander included with Simplicity Studio™ is regularly updated with other Simplicity Studio updates and so it is recommended to just update Simplicity Studio™ to get the latest Simplicity Commander update.
However, sometimes there is a lag between when a new Simplicity Commander is released on the Silicon Labs website (https://www.silabs.com/mcu/programming-options) and when a new Simplicity Studio™ version is released. If the new version of Simplicity Commander includes a new feature that is required for development then it is possible to replace the Simplicity Studio™ version with the following procedure.
First make sure to exit all running instances of Simplicity Studio™ and then download the appropriate version of Simplicity Commander from the above website.
The procedure for updating Simplicity Commander on the MacOS is slightly different and is described after the Windows and Linux instructions.
Windows and Linux (verified on Windows 10 and Ubuntu 18.04 LTS)
Backup the following files from the internal Simplicity Studio™ commander as they have to be added back after the update:
The default paths for the Simplicity Studio™ version of commander are:
When the downloaded version of Simplicity Commander is expanded on Windows it is placed in a [Simplicity Commander] folder and on Linux in a [SimplicityCommander-Linux] folder. The Linux version will contain an additional tarball that needs to be expanded into a [commander] folder. The contents of that folder ([Simplicity Commander] on Windows or [commander] on Linux) should be used to replace the internal Simplicity Studio™ commander located at the above paths. Then copy in the two files that were backed up (apack.info and commander40x40.png) replacing the apack.info file.
MacOS Instructions (verified on MacOS Catalina version 10.15.4)
After the SimplicityCommander-Mac.zip is expanded it will be placed in a folder with a release note text file, a README.txt and the Commander .dmg file. When the .dmg file is opened it mounts the Commander application as a volume. The Commander.app can then be executed from that volume or dragged into the Applications folder or in this case used to replace the internal Simplicity Studio™ commander. Drag Commander.app into the folder containing the existing Commander.app:
A popup will be displayed saying an item named "Commander.app" already exists with various options:
Choose the Replace option. Note: If Commander.app is dragged from the Applications folder it will move it out of Applications and not create a copy.
That's it! To verify the new version is being used, start Simplicity Studio™ and launch Simplicity Commander (from the Launcher perspective Tools icon (green wrench)) and select [Help] > [About Simplicity Commander] and the version will match the name of the .zip (Windows), .tgz (Linux) or .dmg (MacOS) file. Commander is also used behind the scenes for several operations including flashing images and various security commands.
Note there has been at least one report on a Mac that it had to be rebooted for this to work correctly. That shouldn't normally be necessary, but it might if Simplicity Commander or Simplicity Studio did not shutdown cleanly for some reason so it is worth trying.
With the SV22.214.171.124 Simplicity Studio release there was an update to the silink adapter pack. The adapter pack is used with the Network Analyzer, Energy Profiler and "Launch Console" functionality. The silink update included an update to the Segger JLink ARM library and unfortunately one of the symbolic links to that library was not updated.
This will result in errors if trying to run one of those tools. The error can also be seen from [Settings] > [Simplicity Studio] > [Adapter Packs] and then expanding the 'Silink adapter pack' entry:
By opening a terminal window it is easy to delete the bad symlink and then to add the correct symlink. After opening the terminal window issue a 'cd' command to change to the adapter pack directory ~/SimplicityStudio_v4/developer/adapter_packs/silink on Linux. Then delete the bad symlink and add the correct one:
ln -s libjlinkarm.so.6.22.4 libjlinkarm.so.6
Then do ls -l to verify the link has been fixed:
lrwxrwxrwx 1 USERNAME USERNAME 16 Dec 16 23:20 libjlinkarm.so -> libjlinkarm.so.6
lrwxrwxrwx 1 USERNAME USERNAME 21 Dec 16 23:20 libjlinkarm.so.6 -> libjlinkarm.so.6.18.3
-rwxr-xr-x 1 USERNAME USERNAME 18605120 Dec 4 04:02 libjlinkarm.so.6.22.4
Then restart Simplicity Studio and go back to the adapter pack folder and verify the issue has been resolved.
With the December release of Simplicity Studio SV126.96.36.199 and Gecko SDK Suite v2.7.0, the Silicon Labs proprietary implementation of the Thread (SL-Thread) protocol was removed from the Gecko SDK Suite. The reason for this decision as described in more detail in this Knowledge Base Article (KBA): https://www.silabs.com/community/wireless/zigbee-and-thread/knowledge-base.entry.html/2019/08/01/deprecation_of_slthreadinfavorofopenthread-zNsJ is that Silicon Labs will focus on Supporting the OpenThread implementation of the Thread protocol.
For customers installing Simplicity Studio that need access to the SL-Thread SDK to support existing products, follow this procedure during installation. If Simplicity Studio has already been installed and access to the Wireless Mesh protocols (EmberZNet (Zigbee) and Thread) has been granted, then the SL-Thread SDK can be installed by using the Installation Wizard Package Manager ([Help] > [Update Software] > [Package Manager] and then select the SDKs tab and set the top [Category] filter to [Thread]) (See Step 9).
1. Download the latest Simplicity Studio installer for the chosen operating system.
2. Launch the installer and when the Installation Wizard appears select [Install by Product Group].
3. Select Wireless & RF Families
On the Install Wizard dialog box select the entire [Wireless & RF] product group and then press [Next]. In order to install the SL-Thread SDK, it is necessary to keep all of the wireless protocols selected at this step. SDK filtering can be done at a later step.
4. Sign In if not yet Signed In
The next screen is just an informational screen to show content access for the current user including Thread access. Sign In if necessary or else just press [Next].
5. Filter SDKs to be Installed
At this step SDK filtering can take place to limit the SDKs that will be installed. Note the latest SDKs shown will be part of Gecko SDK Suite version 2.7.0 (and will install Gecko Platform version 2.7.0). The last available Thread SDK (version 2.10.4) is for Gecko SDK Suite 2.6.4. This just means that if any of the latest versions of the other SDKs are left selected, both Gecko SDK Suite 2.7.0 and 2.6.4 will be installed. DO NOT press [Finish] yet.
6. Uncheck [Show Latest Versions] to see SL-Thread SDKs
To gain access to the various SL-Thread SDK versions, scroll down the dialog box and uncheck the [Show Latest Versions] box:
7. Select desired SL-Thread SDK version(s)
Now scroll down through the available packages and select the desired SL-Thread SDK version(s) to be installed. The latest available SL-Thread SDK - 188.8.131.52 is shown selected below. If other SDKs for the same Gecko SDK Suite are desired they can be selected at this step as well. After the selections are made click [Next].
7. Complete the Installation
Accept the license agreement and then click [Finish] to complete the Simplicity Studio installation.
8. Restart Simplicity Studio and Start Thread development
After the installation completes, a prompt will appear to restart Simplicity Studio. After Simplicity Studio restarts, if a product that supports the SL-Thread SDK is attached to the computer and selected in the [Debug Adapters] window or added to the [My Products] window, the Gecko SDK Suite that contains the installed SL-Thread SDK can be set as the [Preferred SDK] and then the available Thread Software Examples will be displayed in the main Launcher window.
9. Use Package Manager to Install SL-Thread SDK to existing Simplicity Studio Installations
As mentioned in the introduction, after Simplicity Studio is installed the [Package Manager] from the [Installation Wizard] can be used to install different SL-Thread SDK version. Setting the [Category] filter to [Thread] and the [Version] filter to [All] will display all of the available SL-Thread SDKs.
During a debug session it is often helpful to be able to see variables represented in hexadecimal format as opposed to the default decimal format. The obvious Eclipse setting to change the Debug number format does not work in the version of Eclipse CDT on which Simplicity Studio is based and this Default number format settings have been removed from the latest version of Eclipse:
However there is an obscure way to change the default format from a debug session, it applies to hover windows and the other debug windows and it will persist across projects, debug sessions and Simplicity Studio restarts. From an active debug session, with the [Variables] tab selected, click the small white down arrow chevron in the upper right corner of the Variables dialog and select [Number Format] and then choose the desired option from the drop down list:
Hopefully this is useful information.
Simplicity Studio has a project importer that can be used to add a source controlled project to a workspace. Unfortunately there are some quirks in the project import process and so this Knowledge Base Article (KBA) will serve to point out those quirks and how to work around them until an update can be released that cleans up the project import operation.
For source controlled projects it is recommended to keep them in a folder that is external to the workspace and that one reason why it is necessary to import the project into the workspace. Also it is important to put the "hidden" files and project folders (ones that start with "." such as the .project and .cproject files and .internal_hwconfig, .pdm, .settings folders) under source control as well as any SDK supplied precompiled library (.a) or object (.o) files. A lot of source control systems will ignore library and object files by default, which is appropriate for the source files compiled with the project, but not the ones that originate with the SDK. To see these files look under the project properties [C/C++ Build] > [Settings] > [* Linker] under either [Libraries] or [Miscellaneous].
For this KBA the projects are stored in the C:\tmp\projects folder.
To add the projects to Simplicity Studio use [File] > [Import...] and then browse to the project folder to import:
Then click through the dialog boxes until the [Project Configuration] dialog is shown, this is were the 'quirks' occur:
The [Use default location] checkbox is marked and the default location is the project folder name in the current workspace. This makes sense except the files will not be copied into the workspace by the import operation and so Simplicity Studio does not find the project information:
Since the project and the .project file in this case is under source control, the files should not be copied into the workspace, so that part of the import defaults to the correct behavior. To correctly import the project the [Use default location] should be unchecked and then [Browse..] or enter the path were the project is stored (C:\tmp\projects\Gecko in this case). If the path is entered directly there is no issue, but if the [Browse...] button is used the project name will be duplicated (Gecko\Gecko in this case) and so the path must be corrected by removing the duplication before hitting [Finish]:
Depending on how the path is entered either an information message about importing from an existing location or a warning that the project location exists and has content will be displayed. Both of these messages are normal and it is okay to cick [Finish] to complete the project import. After the import the project is ready to use.
When working with projects under source control, unless using a source control plugin, it is recommended to close the project before making any changes to the project from the source control software. If a source file is removed from the project, it can still show up in the project due to references to the file in the workspace .metadata files. In this case the file will have a yellow '!' warning icon and it can be corrected by deleting the file from the project properties [Linked Resources] tab:
The delete operation will simply remove the reference from the .metadata files and then the project will build without error.
I hope this KBA helps avoid some headaches when working with source controlled projects.
Simplicity Studio is based on Eclipse which uses a Java Virtual Machine (JVM) as the underlying platform. The JVM Java heap space by default is limited to 1/4 of the physical memory on the computer. With recent SDK releases the memory requirements during the AppBuilder "Generate" function and other memory intensive operations may exceed the default Java heap space maximum (see image below). This is especially true on computers that have 8 GB or less of memory, as the default maximum heap space would be 2 GB (1 GB for a 4 GB computer) on these computers.
The following are guidelines for reducing the amount of memory that Simplicity Studio uses in general as well as how to increase the maximum heap space Simplicity Studio will try to use based on memory availability in the system. Note the allocated memory will be released after the operation that allocated it finishes - so the memory is not permanently allocated to Simplicity Studio.
1. If there is less than 16 GB of RAM installed, then use a text editor to edit the studio.ini file from the Simplicity Studio installation directory and add the line
line. This will allow Simplicity Studio to try and allocate up to 3 GB of RAM for the Java heap space. If you still get an out of memory error (GC overhead limit exceeded) with the above setting then it can be changed to -Xmx4096m. For computers with 16 GB or more of memory, Simplicity Studio will use up to 4 GB of RAM by default (the default is to use up to 1/4 of the available memory), but this can be increased to a higher limit if issues are seen. Note that for 32-bit Windows installations the maximum Java heap size is 2 GB, so this setting will not work for 32-bit installations.
2. On some Windows systems there is a _java_options system environment variable that will limit Java applications to only using a small amount (256 or 512 MB) of Java heap space. Look for this variable under Look under [System] > [Advanced system settings] > [Environment Variables] in the [Systems variables] section for a _java_options variable and if it exists increase the value to 2g or 3g.
3. Only enable 1 or 2 SDKs per workspace (This is done at [Window] > [Preferences] > [Simplicity Studio] > [SDKs] and uncheck (disable) SDKs that are not being used). This change will make a big reduction in how much memory Simplicity Studio uses.
At the end of this KBA there are some tips for using multiple workspaces: https://www.silabs.com/community/software/simplicity-studio/knowledge-base.entry.html/2018/08/22/gecko_sdk_suite_tool-qlc4
4. Only have a few projects open in the Simplicity Studio project explorer. Other projects can be closed by right clicking the project folder and selecting [Close Project] or [Close Unrelated Projects].
5. Minimize the number of open files in the Simplicity IDE, especially .isc or .hwconf files.
6. Enable display of heap status ([Window] > [Preferences] > [General] and select [Show heap status]). Then periodically and especially before creating or generating a project with AppBuilder click the trashcan icon to run the garbage collector to free up memory.
7. Change the JVM Garbage Collector to a more aggressive garbage collector than the default one. Use a text editor to edit studio.ini and add this line
After the line
Note changing the garbage collector could slow down the Generate and other operations.
If the "About Simplicity Studio" dialog box ([Help] > [About Simplicity Studio] or on a Mac [Simplicity Studio] > [About Simplicity Studio]) shows "Invalid Installation" similar to this screenshot:
Then this can be manually repaired by following these steps:
MacOS: /Applications/Simplicity Studio/Contents/Eclipse/offline/autogen
MacOS: /Applications/Simplicity Studio/Contents/Eclipse/configuration/studio/assets/assets_autogen.assets3
The Simplicity Studio release that was made on Friday April 26th (SV184.108.40.206) had issues that prevented some Simplicity Studio installations from updating correctly. The installations that would fail were versions SV220.127.116.11 and SV18.104.22.168. If the last time Simplicity Studio was updated was before March 29th (so version SV22.214.171.124 or earlier) then the update worked correctly.
This issue has been resolved with the Simplicity Studio release that was made Tuesday afternoon, April 30th 2019 (UTC-06:00). The version of this release is SV126.96.36.199 (seen from [Help] > [About]). This release will update all versions of Simplicity Studio and it will fix any failed attempts to update to SV188.8.131.52. It will also properly update any installations that had worked around the update issue by manually applying an update to the Simplicity Studio Product package and then applying the other updates.
If Simplicity Studio is configured to automatically check for updates when it starts (the default setting) then the user will automatically be prompted to install the new update after they start or restart Simplicity Studio. If Simplicity Studio is configured to manually or periodically check for updates, then clicking the [Update Software] link will check for updates and then the available updates can be seen from the [Package Manager] [Product Updates] tab.
Depending on when Simplicity Studio was last updated several more updates could be available. To apply all of the available updates click the [Update] button and then after the update completes restart Simplicity Studio.
If any problems are seen with the update, please respond to this Knowledge Base Article or else create a new Simplicity Studio Community Forum thread or support case to report the issue.
Silicon Labs apologizes for the inconvenience this update issue has caused our customers.
Currently if the offline installer archives are used to install and update Simplicity Studio it is hard to tell when the archive files have been updated indicating that an update is available. Since the files tend to be very large (some are over 8 GB) it is inconvenient to download them just to check if they have been updated. So this article will list the latest version of Simplicity Studio and the various SDKs that have been released. The goal will be to update the article each time there is a new release, so that by following this article customers will be notified when Simplicity Studio and the various SDKs have been updated.
I also want to point out that the Simplicity Studio [Help] > [About] functionality has been enhanced to show a unified version number and the versions of the various components that comprise that version of Simplicity Studio. The information is presented in a matrix format that will show the component versions for the last 10 Simplicity Studio releases. The unified version number will make it easier to communicate the installed version of Simplicity Studio to Silicon Labs.
The current version of Simplicity Studio is 184.108.40.206. It was released on November 26th, 2019 and this is a portion of the [Help] > [About] information that also shows the Simplicity Studio Platform version (which was previously the easiest way to report the Simplicity Studio version):
On the About box there is also a "Toolchains and SDKs" tab that shows the versions of the installed toolchains and SDKs. This screenshot shows the information on the latest available SDKs as of November 26th, 2019:
I hope this information proves useful especially to customers using the offline archives files to install and update Simplicity Studio. This article should provide a temporary benefit until an update indication can be added to the offline installer page.
Many corporate networks employ proxy servers as a security measure to provide a more secure networking environment. If this is the case then Simplicity Studio will have to be configured to work with the proxy server and the IT department will have to configure the proxy server to allow Simplicity Studio to connect to the Simplicity Studio update servers.
If this is the case then an error would be seen when trying to install Simplicity Studio. The normal errors that are sign are either login errors where Simplicity Studio could not validate the sign in credentials or a “Connection Error” where Simplicity Studio could not connect to the update server.
All of the error messages described above generally indicate that Studio has failed to install the required components. After running Studio for the first time, users must select which components to install before creating a project or viewing documents and release materials. Studio requires an active internet connection with properly configured network or proxy settings to install these components. Only users on a network with a firewall that blocks access to the Studio servers or users that are required to use a proxy server to access external servers may be required to manually enter their network proxy settings into the Studio Network Connection Preferences dialog.
Studio Update Server Access
In order to install or update Studio components, your computer must be able to access the following domains:
https://updates.silabs.com (port 443)
(note the above is a recent change (February 2020) from https://developer.silabs.com)
https://siliconlabs.force.com (port 443)
If you are not sure if your network allows access to these servers or if you require the use of a proxy server to access external sites, please contact the IT administrator to find out if a proxy server is being used and to request that the URLs listed above are added to the proxy server configuration.
Testing Server Access
Simplicity Studio access to the update servers can be manually checked using a web browser. Firefox is recommended as it does not generally use the local system certificate store for SSL certificates.
Ensure that you have access to the following servers when using your web browser:
If you can successfully connect to https://updates.silabs.com via web browser, you should see an html page with the words "devtools".
If you can successfully connect to https://siliconlabs.force.com via web browser, verify that you can successfully login with your Silicon Labs user account.
Configuring a Proxy Server
For users on a network requiring the use of a proxy server to access Studio update servers, check with your IT administrator on the correct proxy server IP address and port for HTTP, HTTPS, and SOCKS protocols (Note: Use of the SOCKS protocol is less common and entering settings for the SOCKS protocol can block update access if entries are made when a SOCKS server is not being used).
When you first run Studio and the program can't detect an active internet connection, the Connection Error Dialog will appear.
To configure your proxy settings for Studio, select “Go to the Network Connection Preferences” and click “Next”.
You may also reach the proxy setting dialog by clicking the Settings button on the top-left side of the toolbar (next to the Sign In button). Then navigate to Network Connections.
The easiest setting to use is the “Native” Active Provider setting. With this setting Simplicity Studio will use the proxy server settings from the computer operating system. If Simplicity Studio was able to find the proxy settings they will be highlighted in yellow, enabled and displayed in the proxy entries box:
If the settings do not appear or they do not match the proxy settings given by the IT department, then the Active Provider drop down box should be set to “Manual” and the entries for the proxy server entered for the HTTPS and, if necessary, the SOCKS protocol. Simplicity Studio does not use the HTTP protocol for updates, so it is not necessary to enter the settings for it. The Proxy entries allow the user to specify a proxy server and port. Also enter User and Password information if your proxy server requires authentication. The Proxy bypass items allows users to enter hostnames that are reached directly without going through the proxy server. By default, localhost and 127.0.0.1 should be bypassed (don't use proxy server settings) since these resolve to the local machine (i.e. offline installer files, local archives, etc).
Note that the Proxy entries and Proxy bypass items will not have any effect unless they are checked via selecting the Manual setting.
Users who don't require a proxy server should select the Direct setting under the Active Provider dropdown menu to completely bypass the proxy entries.
See the Eclipse documentation for Network Connections on how to configure proxy settings within Studio at:
Often companies will also employ SSL security certificate monitoring and then Simplicity Studio will need to be configured to use the proper security certificates. If that is the case then please refer to this Knowledge Base Article (KBA) for how to check for and configure the SSL certificates: https://www.silabs.com/community/software/simplicity-studio/knowledge-base.entry.html/2018/10/12/installing_ssl_secur-UVxo