Skip to content

The Gecko SDK (GSDK) combines our Series 0 and Series 1 IoT product software development kits (SDKs) based on Gecko Platform into a single, integrated SDK.

License

Notifications You must be signed in to change notification settings

SiliconLabs/gecko_sdk

Repository files navigation

Silicon Labs Gecko SDK (GSDK)

The Gecko SDK (GSDK) combines Silicon Labs wireless software development kits (SDKs) and Gecko Platform into a single, integrated package. The GSDK is your primary tool for developing in the Silicon Labs IoT Software ecosystem. All of Silicon Labs' stacks are written in-house to provide a seamless experience from silicon to tools, allowing you to unlock powerful features with ease, including:

  • Abstraction of complex requirements like multiprotocol and pre-certification
  • Industry-leading ability to support a large number of nodes
  • Ultra-low power consumption
  • Strong network reliability

Silicon Labs also helps future-proof your devices with over-the-air software and security updates, helping to minimize maintenance cost and improve your end user product experience!

Licensing

Gecko SDK is covered by one of several different licenses. The default license is the Master Software License Agreement (MSLA), which applies unless otherwise noted. Refer to License.txt for full details.

Documentation

An archive of all documents associated with the latest release of GSDK can be found in Releases. Documentation for some of the protocol SDKs and software components is available on https://docs.silabs.com.

Getting Started with GSDK

The recommended method to get started with the GSDK is to first install Simplicity Studio 5, which will set up your development environment and walk you through installing the GSDK. Alternatively, GSDK and other required tools may be installed manually.

Installing through Simplicity Studio

Simplicity Studio 5 includes everything needed for IoT product development with Silicon Labs devices, including:

  • Detection and recognition of evaluation and development kits,
  • Resource navigator with kit and device-specific content,
  • Software project generator for multiple IDEs and GNU Make targets,
  • Software and hardware configuration tools,
  • Eclipse CDT-based IDE,
  • GNU toolchain,
  • Advanced network analysis tools,
  • Code-correlated energy profiling,
  • And a variety of other tools.

Start by downloading the Simplicity Studio package for your operating system from https://www.silabs.com/simplicity. Step-by-step installation instructions are provided in the online Simplicity Studio 5 User’s Guide.

Installing GSDK and Tools Manually

A GSDK development environment may also be installed and set up manually.

GSDK

GSDK releases are packaged as an archive that may be downloaded from the Releases page on GitHub. You may also clone this repo using a git client. Note that an installation of git lfs is also required. If you are installing git lfs only to use with the GSDK, you do not need to specify file types.

Toolchain

This release of GSDK supports the Arm Embedded Toolchain version 12.2.1 and IAR Embedded Workbench version 9.40.1. One of these toolchains must be installed.

Silicon Labs Configurator (SLC) Command-line Interface (CLI)

GSDK contains software that follows the SLC specification. Software is grouped into components (defined by .slcc files) that may provide features and/or require features provided by other components. Example projects (.slcp) describe a single software application (usually made up of multiple components plus application code) that can be used to generate an IDE project.

Simplicity Studio 5 includes a pre-integrated version of SLC tooling. The SLC-CLI tool provides a command-line alternative that, among other things, will resolve project and component dependencies and generate a project for a specified embedded target and build system (for example, IAR Embedded Workbench or GNU tools via a Makefile).

See the SLC specification for details about SLC. For information on installing and using the SLC-CLI, see UG520: Software Project Generation and Configuration with SLC-CLI.