The Gecko SDK is software development kit developed by Silicon Labs for the EFM32, EFR32 and EZR32. It contains the basic software needed for development, covering everything from the low-level hardware abstraction layer (HAL) and peripheral drivers to communication stacks and example code. The Gecko SDK is also part of the Simplicity Studio toolsuite from Silicon Labs. Downloading Simplicity Studio also gives you access to a large range of tools, like Configurator and Energy Profiler together with access to all software and documentation.
Full API documentation is available in the Gecko_SDK_Doc repository, hosted on GitHub pages, and within Simplicity Studio by clicking the Software Documentation tile.
For datasheets, reference manuals and other documentation items, download Simplicity Studio or head over to the document library.
To download the complete Gecko SDK as one packed zip-file, head over to the releases section. Here you will find all the different versions downloadable as a zip-file or compressed tarball. Just scroll down to the version/release you want and find the Source code link under the Downloads section.
To import the downloaded version of the Gecko SDK into Simplicity Studio, follow the steps below:
- Extract the zip-file
- Open Simplicity Studio
- Click settings
- Browse to Simplicity Studio -> SDKs
- Click Add...
- Browse to the location of the extracted SDK
- Make sure the EFM32 SDK is selected and press OK
- You can now create Software Examples from this SDK version
The Gecko MCU SDK is a comprehensive suite of software, with everything needed for software development on a Gecko MCU (EFM32) or Wireless Gecko (EFR32 and EZR32), organized in an easy way to help with application development. It contains full software support, from register definitions to full-fledged examples. The Gecko MCU SDK is organized into the following folders:
- cmsis — This folder contains the basic core definitions definitions and libraries needed to work with the Cortex-M CPUs
- Device — This folder contains the device specific register defnitions for our MCUs. It is written according to ARMs Cortex Microcontroller Software Interface Standard (CMSIS), and you have full control over every bit of the hardware using these defines.
- emlib — This layer is the hardware abstraction layer (HAL), which gives control over most of the hardware, but a limited degree of abstraction is provided to reduce complexity and ease implementation. At this level, most of the functions are readily portable across the full range of Gecko devices, from Gecko MCUs (EFM32) to Wireless Geckos (EFR32 and EZR32).
- emdrv — These are full drivers for different peripherals, such as a SPI driver or a flash driver. They are easy to set up, give immediate access to the given functionality, and are fully portable across all Gecko devices.
- reptile — Middleware components developed by Silicon Labs and ports of popular third-party middleware. These are full libraries available to use in an application, like graphics, file systems, real-time operating systems (RTOS), certification libraries (IEC-60335 Class B) and TCP/IP stacks. The third-party software can either be developed by companies like Segger or Micrium or be based on open source code like lwip and FatFS.
- util — Middleware components developed third-parties. These are full libraries available to use in an application, ported to the Silicon Labs hardware. Currently the only middleware component available here is the mbedTLS from ARM.
- usb - The USB library for the devices. Contains both a host and device stack and is very well integrated with the MCUs energy modes to allow low-power operation. Examples are included for Mass Storage Device (MSD) class, Communication Device Class (CDC), Human Interface Device (HID) class, audio class and Vendor Unique Device (VUD) class.
- kits — The Board Support Package (BSP) contains everything you need to use the peripherals available on the Gecko Starter Kits (STK). Drivers are provided for everything from touch buttons and accelerometers to LCD and TFT displays.
This folder also contain examples that run on top of all this software to demonstrate the unique capabilities of the Gecko microcontrollers. They are usually full examples that demonstrate the MCU in a given application and give you a starting point for building your own code. For smaller examples to guide you in setting up peripherals, we also have application notes (AN) that are distributed separately. The examples run on top of all this software to demonstrate the unique capabilities of the Gecko microcontrollers. They are usually full examples that demonstrate the MCU in a given application and give a starting point for building your own code. Application Notes (AN) are generally smaller examples to guide peripheral set-up and are distributed separately on the website or through Simplicity Studio using the [Application Notes] tile.
See the changlogs for the individual modules:
- Device Changelog
- emlib Changelog
- emdrv Changelog
- usb Changelog
- kits - Individual changelogs for each kit in this folder