EFM32 and EFR32 |
This repo contains simple peripheral examples based on emlib for Series 0, Series 1, and Series 2 devices.
Supported Series 0 Devices
- EFM32ZG
- EFM32HG
- EFM32TG
- EFM32G
- EFM32LG
- EFM32GG
- EFM32WG
Supported Series 1 Devices
- EFM32PG1
- EFR32MG1
- EFR32BG1
- EFR32FG1
- EFM32PG12
- EFR32MG12
- EFR32BG12
- EFR32FG12
- EFR32MG13
- EFR32BG13
- EFR32FG13
- EFR32MG14
- EFR32FG14
- EFM32GG11
- EFM32TG11
Supported Series 2 Devices
- EFR32BG21
- EFR32MG21
- EFR32BG22
- EFR32FG22
- EFR32MG22
- EFM32PG22
- EFR32FG23
- EFR32ZG23
- EFM32PG23
- EFR32BG24
- EFR32MG24
- EFR32FG25
- EFR32BG27
- EFR32MG27
- EFR32FG28
Requirements
- Desired Silicon Labs Starter Kit
- Simplicity Studio 5 or IAR Workbech IDE
- Gecko SDK Suite 4.3.0, available via Simplicity Studio
- This repo cloned to
C:\SiliconLabs\SimplicityStudio\v5\developer\repos\
Additional Requirements for IAR
- Open Windows Command Prompt and navigate to the GSDK directory, which can be found by opening Simplicity Studio and navigating to Preferences -> Simplicity Studio -> SDKs
- Run the following command:
mklink /J <path to GSDK>\peripheral_examples <path to peripheral_examples repo>
For example, if the GSDK is located inC:\Users\myUserName\SimplicityStudio\SDKs
, then the command would bemklink /J C:\Users\myUserName\SimplicityStudio\SDKs\peripheral_examples C:\SiliconLabs\SimplicityStudio\v5\developer\repos\peripheral_examples
How to import to Simplicity Studio IDE
- In Simplicity Studio:
- File -> Import, or
- Project -> Import -> MCU Project
- Navigate to the desired .slsproj file
How to import to IAR Embedded Workbench IDE
- Navigate to the desired .eww file and double click
Porting to Another Board
Peripheral examples make use of the BSP headers to provide portable support for different development boards. To change the target board, navigate to Project -> Properties -> C/C++ Build -> Board/Part/SDK. Start typing in the Boards search box and locate the desired development board, then click Apply to change the project settings. Ensure that the board specific include paths, found in Project -> Properties -> C/C++ General -> Paths and Symbols, correctly match the target board.
e.g. ${StudioSdkPath}/hardware/kit/EFR32MG21_BRD4181B/config
is the correct include path for the brd4181b radio board.
Reporting Bugs/Issues and Posting Questions and Comments
All examples in this repo is are considered EVALUATION QUALITY, meaning this code has been minimally tested to ensure that it builds with the specified dependencies and is suitable as a demonstration for evaluation purposes only. This code will be maintained at the sole discretion of Silicon Labs.
To report bugs in the peripheral example projects, please create a new "Issue" in the "Issues" section of this repo. Please reference the board, project, and source files associated with the bug, and reference line numbers. If you are proposing a fix, also include information on the proposed fix. Silicon Labs engineers will address bugs and push them to the public repository periodically.
Questions and comments related to the peripheral examples should be made by creating a new "Issue" in the "Issues" section of this repo.