#hardware-abstraction #hal #cortex-m #micro-controller #arm #stm32g0xx

no-std stm32g0xx-hal

Peripheral access API for STM32G0 series microcontrollers

16 releases

0.2.0 Jan 20, 2023
0.1.5 Jun 6, 2022
0.1.3 Feb 5, 2022
0.1.2 Oct 27, 2021
0.0.0 Dec 23, 2018

#173 in Embedded development

Download history 27/week @ 2024-07-20 135/week @ 2024-07-27 39/week @ 2024-08-03 35/week @ 2024-08-10 18/week @ 2024-08-17 24/week @ 2024-08-24 31/week @ 2024-08-31 49/week @ 2024-09-07 57/week @ 2024-09-14 74/week @ 2024-09-21 132/week @ 2024-09-28 61/week @ 2024-10-05 77/week @ 2024-10-12 38/week @ 2024-10-19 31/week @ 2024-10-26 33/week @ 2024-11-02

185 downloads per month
Used in 4 crates

MIT/Apache

310KB
7.5K SLoC

stm32g0xx-hal

stm32g0xx-hal contains a multi device hardware abstraction on top of the peripheral access API for the STMicro STM32G0 series microcontrollers. The selection of the MCU is done by feature gates, typically specified by board support crates.

G0 hardware overview

Feature Desc G030 G070 G031 G041 G071 G081
TIM1 16bit up/down 1 1 1 1 1 1
TIM2 32bit up/down 1 1 1 1
TIM3 16bit up/down 1 1 1 1 1 1
TIM6 16bit up 1 1 1
TIM7 16bit up 1 1 1
TIM14 16bit up 1 1 1 1 1 1
TIM15 16bit up 1 1 1
TIM16 16bit up 1 1 1 1 1 1
TIM17 16bit up 1 1 1 1 1 1
LPTIM1 16bit up 1 1 1 1
LPTIM2 16bit up 1 1 1 1
COMP1 Comparator 1 1
COMP2 Comparator 1 1
DAC 1 1
UART1 1 1 1 1 1 1
UART2 1* 1 1* 1* 1 1
UART3 1 1 1
UART4 1 1 1
LPUART 1 1 1 1
AES 1 1
RNG 1 1
UCPD1 USB C Power Delivery 1 1
UCPD2 USB C Power Delivery 1 1
VREFBUF 1 1 1 1
TS_CAL2 Tsense calibration val @ 130 C 1 1 1 1
DMA Channels 5 7 5 5 7 7
CEC HDMI control 1 1

Usage

This crate will eventually contain support for multiple microcontrollers in the stm32g0 family. Which specific microcontroller you want to build for has to be specified with a feature, for example stm32g070.

Building an Example

If you are compiling the crate on its own for development or running examples, specify your microcontroller on the command line. For example:

cargo build --example blinky --features stm32g071

Using as a Dependency

When using this crate as a dependency in your project, the microcontroller can be specified as part of the Cargo.toml definition.

[dependencies.stm32g0xx-hal]
version = "0.1.5"
features = ["rt", "stm32g081"]

Documentation

The documentation can be found at docs.rs.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~35MB
~829K SLoC