Cargo Features

GD32-HAL has no features set by default.

[dependencies]
gd32-hal = { version = "0.0.1", features = ["f3rt", "f303", "embedded_hal", "f3", "byteorder"] }

Compile with one of these "runtime" features if the program will be directly flashed to an MCU; ie not a library.

f3rt

Enables rt of gd32f3

Peripheral Access Crates

f303 = f3

Features defined here are those taken from the SVD-generated GD32 PACs.
The "f3" etc designator at the end lets us group by family when feature-gating.

Enables gd32f303 of gd32f3

embedded_hal = embedded-hal
f3 f303?

These features are used to featured gate sections of code that apply to an entire family.

Affects f::Prediv, f::PllMF, f::UsbPrescaler, f::UsbClockSource, f::Clocks.prediv0, f::Clocks.pll_mul, f::Clocks.usb_pre, f::Clocks.usb_clock_source

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

gd32f3 f303? f3rt?
embedded-hal embedded_hal?

Enables embedded-hal ^0.2.5

Embedded traits. Featured-gated with embedded-hal.

byteorder implicit feature

Enables byteorder

byteorder:

Library for reading/writing numbers in big-endian and little-endian