#api-access #svd2rust #embedded-devices

no-std gd32f1

Device support crate for GD32F1 devices

11 releases (breaking)

0.9.1 Mar 26, 2024
0.8.0 Oct 9, 2023
0.7.0 Nov 28, 2022
0.6.0 Jun 22, 2022
0.4.0 Jul 4, 2021

#661 in Embedded development

Download history 104/week @ 2024-01-15 38/week @ 2024-01-22 276/week @ 2024-01-29 2/week @ 2024-02-19 17/week @ 2024-02-26 79/week @ 2024-03-04 6/week @ 2024-03-11 130/week @ 2024-03-18 264/week @ 2024-03-25 219/week @ 2024-04-01

622 downloads per month
Used in gd32f1x0-hal


402K SLoC


This crate provides an autogenerated API for access to GD32F1 peripherals. The API is generated using svd2rust with patched svd files containing extensive type-safe support. For more information please see the main repo.

Refer to the documentation for full details.


Each device supported by this crate is behind a feature gate so that you only compile the device(s) you want. To use, in your Cargo.toml:

version = "0.9.1"
features = ["gd32f130", "rt", "critical-section"]

The rt feature is optional and brings in support for cortex-m-rt.

In your code:

use gd32f1::gd32f130;

let mut peripherals = gd32f130::Peripherals::take().unwrap();
let gpioa = &peripherals.GPIOA;
gpioa.odr.modify(|_, w| w.odr0().set_bit());

For full details on the autogenerated API, please see: https://docs.rs/svd2rust/0.32.0/svd2rust/#peripheral-api

Supported Devices

Module Devices Links
gd32f130 GD32F130 GD32F1x0, gigadevice.com
gd32f150 GD32F150 GD32F1x0, gigadevice.com
gd32f170 GD32F170 GD32F1x0, gigadevice.com
gd32f190 GD32F190 GD32F1x0, gigadevice.com