Warning Many of the crates referenced here have not been updated in a long while.
Consider looking at the efm32-rs group, which appears to be more active.
This document describes the EM32 Rust group's purpose, scope and workings.
The group exists to pool efforts to facilitate developing Rust applications on the chips in scope by maintaining Peripheral Access Crates (PACs) and suitable Hardware Abstraction Layer (HAL) implementations for the chips, as well as board support crates for selected devices built from those.
Chips in scope are the Silicon Labs EFM32 family and related or newer families, as long as they share architectural components to the extent of warranting shared HAL components.
This encompasses the original EFM32 generations (EFM32 Gecko, EFM32 Tiny Gecko, EFM32 Giant Gecko, EFM32 Happy Gecko) as well as newer generations with and without on-board radio (EZR32 Wonder, Leopard and Happy Gecko; EFR32 Blue, Flex and Mighty Gecko).
Note that some names resurface in newer series (e.g. there are now EFM32GG12 family that bears little resemblance with the original EFM32GG series); check the individual PACs for details on which ordering codes they relate to. Features of the HAL that are limited to a particular series will often refer to the PACs they require.
follow embedded-wg best practice
This group will, eventually, try to maintain:
-
PACs:
-
A single HAL crate: em32-hal (to be merged from efm32gg-hal and imtomu-rs)
-
yet indeterminate selected Board Support Crates
- Silicon Labs software: Various C libraries maintained by the chips' manufacturer, including emlib (their hardware abstraction) and board support packages
- RustyGecko: Wrapping emlib via the FFI to Rust. Last updated 2015.