Cargo Features

stm32f4xx-hal has no features set by default.

[dependencies]
stm32f4xx-hal = { version = "0.22.1", features = ["stm32f401", "stm32f405", "stm32f407", "stm32f415", "stm32f417", "stm32f410", "stm32f411", "stm32f412", "stm32f413", "stm32f423", "stm32f427", "stm32f429", "stm32f437", "stm32f439", "stm32f446", "stm32f469", "stm32f479", "gpio-f401", "gpio-f410", "gpio-f411", "gpio-f412", "gpio-f413", "gpio-f417", "gpio-f427", "gpio-f446", "gpio-f469", "rtic1", "rtic2", "rtic-tim5", "defmt", "can", "i2s", "usb_fs", "usb_hs", "fsmc_lcd", "sdio-host", "dfsdm", "sai", "rcc_shared_m", "rcc_i2s_apb", "adc3", "aes", "can1", "can2", "can3", "cryp", "dac", "dcmi", "dfsdm1", "dfsdm2", "dma2d", "dsihost", "eth", "fmc", "fsmc", "fmpi2c1", "gpioe", "gpiog", "gpioi", "gpiok", "i2c3", "lptim1", "ltdc", "quadspi", "otg-fs", "otg-hs", "rng", "sai1", "sai2", "sdio", "spi3", "spi4", "spi5", "spi6", "spdifrx", "tim1", "tim2", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim14", "usart3", "uart4", "uart5", "uart7", "uart8", "uart9", "uart10", "stm32-fmc"] }
stm32f401 = gpio-f401

Use one of the supported STM32-serie related features: stm32f401, stm32f405, stm32f407, stm32f415, stm32f417, stm32f410, stm32f411, stm32f412, stm32f413, stm32f423, stm32f427, stm32f429, stm32f437, stm32f439, stm32f446, stm32f469, stm32f479.

Note: stm32f4 has only one feature for some very similar device families, so it's intended for e.g. stm32f405/415 to both enable stm32f4/stm32f405.

Enables stm32f401 of stm32f4-staging ^0.16.1

stm32f405 = gpio-f417

Enables stm32f405 of stm32f4-staging ^0.16.1

stm32f407 = gpio-f417

Enables stm32f407 of stm32f4-staging ^0.16.1

stm32f415 = cryp, gpio-f417

Enables stm32f405 of stm32f4-staging ^0.16.1

stm32f417 = cryp, gpio-f417

Enables stm32f407 of stm32f4-staging ^0.16.1

stm32f410 = gpio-f410

Enables stm32f410 of stm32f4-staging ^0.16.1

stm32f411 = gpio-f411

Enables stm32f411 of stm32f4-staging ^0.16.1

stm32f412 = gpio-f412

Enables stm32f412 of stm32f4-staging ^0.16.1

stm32f413 = gpio-f413

Enables stm32f413 of stm32f4-staging ^0.16.1

stm32f423 = aes, gpio-f413

Enables stm32f413 of stm32f4-staging ^0.16.1

stm32f427 = fsmc, gpio-f427

Enables stm32f427 of stm32f4-staging ^0.16.1

stm32f429 = fmc, gpio-f427

Enables stm32f429 of stm32f4-staging ^0.16.1

stm32f437 = cryp, fsmc, gpio-f427

Enables stm32f427 of stm32f4-staging ^0.16.1

stm32f439 = cryp, fmc, gpio-f427

Enables stm32f429 of stm32f4-staging ^0.16.1

stm32f446 = gpio-f446

Enables stm32f446 of stm32f4-staging ^0.16.1

stm32f469 = gpio-f469

Enables stm32f469 of stm32f4-staging ^0.16.1

stm32f479 = cryp, gpio-f469

Enables stm32f469 of stm32f4-staging ^0.16.1

gpio-f401 stm32f401? = gpiod, gpioe, i2c3, otg-fs, rcc_shared_m, sdio, spi3, spi4, tim1, tim10, tim11, tim2, tim3, tim4, tim5, tim9

Affects f4::i2s2ext, f4::i2s3ext, f4::SYSCLK_MAX

gpio-f410 stm32f410? = dac, fmpi2c1, lptim1, spi5, tim1, tim11, tim5, tim6, tim9

Affects f4::i2s1

gpio-f411 stm32f411? = gpiod, gpioe, i2c3, otg-fs, sdio, spi3, spi4, spi5, tim1, tim10, tim11, tim2, tim3, tim4, tim5, tim9

Affects f4::i2s1

gpio-f412 stm32f412? = can1, can2, dfsdm1, fmpi2c1, fsmc, gpiod, gpioe, gpiof, gpiog, i2c3, otg-fs, quadspi, rcc_i2s_apb, rng, sdio, spi3, spi4, spi5, tim1, tim10, tim11, tim12, tim13, tim14, tim2, tim3, tim4, tim5, tim6, tim7, tim8, tim9, usart3

Affects f4::i2s1

gpio-f413 stm32f413? stm32f423? = can1, can2, can3, dac, dfsdm1, dfsdm2, fmpi2c1, fsmc, gpiod, gpioe, gpiof, gpiog, i2c3, lptim1, otg-fs, quadspi, rcc_i2s_apb, rng, sai1, sdio, spi3, spi4, spi5, tim1, tim10, tim11, tim12, tim13, tim14, tim2, tim3, tim4, tim5, tim6, tim7, tim8, tim9, uart10, uart4, uart5, uart7, uart8, uart9, usart3

Affects dma::DmaChannel, f4::i2s1

gpio-f417 stm32f405? stm32f407? stm32f415? stm32f417? = adc2, adc3, can1, can2, dac, dcmi, eth, fsmc, gpiod, gpioe, gpiof, gpiog, gpioi, i2c3, otg-fs, otg-hs, rcc_shared_m, rng, sdio, spi3, tim1, tim10, tim11, tim12, tim13, tim14, tim2, tim3, tim4, tim5, tim6, tim7, tim8, tim9, uart4, uart5, usart3

Affects f4::SYSCLK_MAX, f4::dcmi

gpio-f427 stm32f427? stm32f429? stm32f437? stm32f439? = adc2, adc3, can1, can2, dac, dcmi, dma2d, eth, gpiod, gpioe, gpiof, gpiog, gpioi, gpioj, gpiok, i2c3, ltdc, otg-fs, otg-hs, rcc_shared_m, rng, sai1, sdio, spi3, spi4, spi5, spi6, tim1, tim10, tim11, tim12, tim13, tim14, tim2, tim3, tim4, tim5, tim6, tim7, tim8, tim9, uart4, uart5, uart7, uart8, usart3

Affects f4::SYSCLK_MAX, f4::dcmi

gpio-f446 stm32f446? = adc2, adc3, can1, can2, dac, dcmi, fmc, fmpi2c1, gpiod, gpioe, gpiof, gpiog, i2c3, otg-fs, otg-hs, quadspi, rcc_i2s_apb, sai1, sai2, sdio, spdifrx, spi3, spi4, tim1, tim10, tim11, tim12, tim13, tim14, tim2, tim3, tim4, tim5, tim6, tim7, tim8, tim9, uart4, uart5, usart3

Affects f4::SYSCLK_MIN, f4::SYSCLK_MAX, f4::dcmi, f4::i2s1

gpio-f469 stm32f469? stm32f479? = adc2, adc3, can1, can2, dac, dcmi, dma2d, dsihost, eth, fmc, gpiod, gpioe, gpiof, gpiog, gpioi, gpioj, gpiok, i2c3, ltdc, otg-fs, otg-hs, quadspi, rcc_shared_m, rng, sai1, sdio, spi3, spi4, spi5, spi6, tim1, tim10, tim11, tim12, tim13, tim14, tim2, tim3, tim4, tim5, tim6, tim7, tim8, tim9, uart4, uart5, uart7, uart8, usart3

Affects f4::SYSCLK_MAX, f4::dcmi

rtic1 = cortex-m-rtic

Support monotonic timers and other stuff that can be used by RTICv1 framework

Enables rtic-monotonic and systick-monotonic

Affects timer::monotonic

rtic2

Support monotonic timers and other stuff that can be used by RTICv2 framework

Requires nightly rust compiler

Enables atomic-polyfill, embedded-hal-async, rtic, and rtic-time

Affects timer::monotonics

rtic-tim2 rtic-tim3 rtic-tim4 rtic-tim5

Affects timer::monotonics

defmt

Implementation of defmt::Format for public enums and structures. See defmt

Enables defmt, defmt of fugit, defmt-0-3 of nb, defmt of stm32f4-staging ^0.16.1

can

bxCAN peripheral support. See bxcan

Enables bxcan ^0.7

Affects stm32f4xx-hal::can

i2s

I2S peripheral support. See stm32_i2s_v12x

Enables stm32_i2s_v12x

usb_fs

USB OTG-FS peripheral support. See synopsys-usb-otg

Enables fs of synopsys-usb-otg

Affects stm32f4xx-hal::otg_fs

usb_hs

USB OTG-HS peripheral support. See synopsys-usb-otg

Enables hs of synopsys-usb-otg

Affects stm32f4xx-hal::otg_hs

fsmc_lcd

LCD support via FMC/FSMC peripheral. See display-interface

Enables display-interface and display-interface ^0.4.1

Affects stm32f4xx-hal::fsmc_lcd

sdio-host

SDIO peripheral support. See sdio-host

Enables sdio-host

Affects stm32f4xx-hal::sdio

dfsdm dfsdm1? dfsdm2?

Next features are for internal use only!!!

Affects traits::FLT, alt::DfsdmBasic, alt::DfsdmGeneral, alt::DfsdmAdvanced

sai sai1? sai2?

Affects stm32f4xx-hal::sai, pll::PllSetup.use_saipll, pll::SaiPll

rcc_shared_m gpio-f401? gpio-f417? gpio-f427? gpio-f469?
rcc_i2s_apb gpio-f412? gpio-f413? gpio-f446?
adc2 adc3 gpio-f417? gpio-f427? gpio-f446? gpio-f469?
aes stm32f423?

Affects traits::AES_IN, traits::AES_OUT

can1 gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::can1, alt::CanCommon, stm32f4xx-hal::can

can2 gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::can2, stm32f4xx-hal::can

can3 gpio-f413?

Affects f4::can3

cryp stm32f415? stm32f417? stm32f437? stm32f439? stm32f479?

Affects traits::CRYP_IN, traits::CRYP_OUT

dac gpio-f410? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects stm32f4xx-hal::dac

dcmi gpio-f417? gpio-f427? gpio-f446? gpio-f469?
dfsdm1 gpio-f412? gpio-f413? = dfsdm

Affects f4::dfsdm1

dfsdm2 gpio-f413? = dfsdm

Affects f4::dfsdm2

dma2d gpio-f427? gpio-f469?

Affects stm32f4xx-hal::ltdc

dsihost gpio-f469? = embedded-display-controller

Affects f4::dsihost, stm32f4xx-hal::dsi

eth gpio-f417? gpio-f427? gpio-f469?

Affects f4::eth

fmc gpio-f446? gpio-f469? stm32f429? stm32f439?

Affects f4::fmc, f4::AHB3, stm32f4xx-hal::fmc, stm32f4xx-hal::fsmc_lcd

fsmc gpio-f412? gpio-f413? gpio-f417? stm32f427? stm32f437?

Affects f4::fmc, f4::AHB3, stm32f4xx-hal::fmc, stm32f4xx-hal::fsmc_lcd

fmpi2c1 gpio-f410? gpio-f412? gpio-f413? gpio-f446?

Affects f4::fmpi2c1, stm32f4xx-hal::fmpi2c

gpiod gpioe gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
gpiof gpiog gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
gpioi gpio-f417? gpio-f427? gpio-f469?
gpioj gpiok gpio-f427? gpio-f469?
i2c3 gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::i2c3

lptim1 gpio-f410? gpio-f413?

Affects f4::lptim1

ltdc gpio-f427? gpio-f469?

Enables micromath

Affects f4::ltdc, stm32f4xx-hal::ltdc

quadspi gpio-f412? gpio-f413? gpio-f446? gpio-f469?

Affects f4::quadspi, alt::QuadSpiBanks, alt::QuadSpiBank, stm32f4xx-hal::qspi

otg-fs gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::otg_fs, stm32f4xx-hal::otg_fs

otg-hs gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::otg_hs, stm32f4xx-hal::otg_hs

rng gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f469?

Affects stm32f4xx-hal::rng

sai1 gpio-f413? gpio-f427? gpio-f446? gpio-f469? = sai

Affects f4::sai1, alt::SaiChannels, alt::SaiChannel

sai2 gpio-f446? = sai

Affects f4::sai2

sdio gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::sdio, stm32f4xx-hal::sdio

spi3 gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::i2s3, f4::spi3

spi4 gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f427? gpio-f446? gpio-f469?

Affects f4::i2s4, f4::spi4

spi5 gpio-f410? gpio-f411? gpio-f412? gpio-f413? gpio-f427? gpio-f469?

Affects f4::i2s5, f4::spi5

spi6 gpio-f427? gpio-f469?

Affects f4::spi6

spdifrx gpio-f446?

Affects f4::spdifrx, alt::SPdifIn

tim1 gpio-f401? gpio-f410? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim2 gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::tim2, f4::tim3, f4::tim4, f4::tim10

tim3 tim4 gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim5 gpio-f401? gpio-f410? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim6 gpio-f410? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim7 gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim8 gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::tim8, f4::tim12, f4::tim13, f4::tim14

tim9 gpio-f401? gpio-f410? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim10 gpio-f401? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim11 gpio-f401? gpio-f410? gpio-f411? gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
tim12 tim13 tim14 gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?
usart3 gpio-f412? gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::usart3

uart4 gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::uart4, stm32f4xx-hal::uart

uart5 gpio-f413? gpio-f417? gpio-f427? gpio-f446? gpio-f469?

Affects f4::uart5

uart7 gpio-f413? gpio-f427? gpio-f469?

Affects f4::uart7

uart8 gpio-f413? gpio-f427? gpio-f469?

Affects f4::uart8

uart9 gpio-f413?

Affects f4::uart9

uart10 gpio-f413?

Affects f4::uart10

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.

embedded-display-controller dsihost?
cortex-m-rtic rtic1?
stm32-fmc implicit feature

Enables stm32-fmc

stm32-fmc:

Hardware Abstraction Layer for STM32 Memory Controllers (FMC/FSMC)

Affects stm32f4xx-hal::fmc