33# stm32h5xx-hal
44
55[ ![ docs.rs] ( https://docs.rs/stm32h5xx-hal/badge.svg )] ( https://docs.rs/stm32h5xx-hal )
6- <!-- [](https://app.bors.tech/repositories/12691) -->
76[ ![ CI] ( https://github.com/stm32-rs/stm32h5xx-hal/workflows/Continuous%20integration/badge.svg )] ( https://github.com/stm32-rs/stm32h5xx-hal/actions )
87[ ![ Crates.io] ( https://img.shields.io/crates/v/stm32h5xx-hal.svg )] ( https://crates.io/crates/stm32h5xx-hal )
98![ Minimum rustc version] ( https://img.shields.io/badge/rustc-1.78.0+-yellow.svg )
@@ -16,31 +15,68 @@ peripherals available on those MCUs so a HAL can be written for all
1615chips in that same family without having to cut and paste crates for
1716every single model.
1817
19- ### Supported Configurations
18+ ## Supported MCUs
2019
21- | Part | Supported | RM | Dev board |
22- | --------- | --------- | -- | --------- |
23- | stm32h503 | 🚧 (WIP) | [ RM0492] ( https://www.st.com/resource/en/reference_manual/rm0492-stm32h503-line-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0561-stm32h503cbebkbrb-device-errata-stmicroelectronics.pdf ) </sup > | [ Nucleo H503RB] ( https://www.st.com/en/evaluation-tools/nucleo-h503rb.html ) |
24- | stm32h523 | 🚧 (WIP) | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup >| |
25- | stm32h533 | 🚧 (WIP) | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup >| [ Nucleo H533RE] ( https://www.st.com/en/evaluation-tools/nucleo-h533re.html ) |
26- | stm32h562 | ❌* | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup >| |
27- | stm32h563 | ❌* | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup > | [ Nucleo H563ZI] ( https://www.st.com/en/evaluation-tools/nucleo-h563zi.html ) |
28- | stm32h573 | ❌* | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup > | |
20+ The following STM32H5xx MCUs are supported by the HAL:
2921
30- \* Support planned
22+ | Part | RM | Dev board |
23+ | --------- | -- | --------- |
24+ | stm32h503 | [ RM0492] ( https://www.st.com/resource/en/reference_manual/rm0492-stm32h503-line-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0561-stm32h503cbebkbrb-device-errata-stmicroelectronics.pdf ) </sup > | [ Nucleo H503RB] ( https://www.st.com/en/evaluation-tools/nucleo-h503rb.html ) |
25+ | stm32h523 | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup >| |
26+ | stm32h533 | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup >| [ Nucleo H533RE] ( https://www.st.com/en/evaluation-tools/nucleo-h533re.html ) |
27+ | stm32h562 | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup >| |
28+ | stm32h563 | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup > | [ Nucleo H563ZI] ( https://www.st.com/en/evaluation-tools/nucleo-h563zi.html ) |
29+ | stm32h573 | [ RM0481] ( https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf ) <sup >[ (errata)] ( https://www.st.com/resource/en/errata_sheet/es0565-stm32h562xx563xx573xx-device-errata-stmicroelectronics.pdf ) </sup > | |
3130
32- ### Minimum supported Rust version
31+ ## Peripheral Support
32+ For all listed MCUs above, core clock & power configuration and startup is implemented. The status
33+ of support for peripherals is shown in the table below.
34+
35+ | Peripheral/Feature | Supported? | Issue | Notes |
36+ | ------------| ----| ---| ---|
37+ | GPIO | ✅ | - | |
38+ | ICache | ✅ | - | |
39+ | I2C | ✅ | - | Controller operation is done; Target is 🚧 |
40+ | CAN | 🚧 | - | |
41+ | Rng | 🚧 | [ #34 ] ( https://github.com/stm32-rs/stm32h5xx-hal/issues/34 ) | |
42+ | SPI | 🚧 | [ #36 ] ( https://github.com/stm32-rs/stm32h5xx-hal/issues/36 ) | |
43+ | UART | 🚧 | - | |
44+ | DMA | 🚧 | - | |
45+ | ADC | ❌ | [ #35 ] ( https://github.com/stm32-rs/stm32h5xx-hal/issues/35 ) | |
46+ | Timers | ❌ | - | |
47+ | PWM | ❌ | - | |
48+ | Rtc | ❌ | - | |
49+ | Flash | ❌ | - | |
50+
51+ ## Minimum supported Rust version
3352
3453The Minimum Supported Rust Version (MSRV) at the moment is ** 1.78.0** . Older
3554versions ** may** compile, especially when some features are not used in your
3655application.
3756
38- ### Changelog
57+ ## Getting Started
58+
59+ The [ examples folder] ( examples/ ) contains several example programs. To compile
60+ them, specify the target device in a cargo feature:
61+
62+ ```
63+ $ cargo build --features=stm32h523,rt --example <example>
64+ ```
65+
66+ If you are unfamiliar with embedded development using Rust, there are
67+ a number of fantastic resources available to help.
68+
69+ - [ Embedded Rust Documentation] ( https://docs.rust-embedded.org/ )
70+ - [ The Embedded Rust Book] ( https://docs.rust-embedded.org/book/ )
71+ - [ Rust Embedded FAQ] ( https://docs.rust-embedded.org/faq.html )
72+ - [ rust-embedded/awesome-embedded-rust] ( https://github.com/rust-embedded/awesome-embedded-rust )
3973
40- See [ CHANGELOG.md ] ( CHANGELOG.md ) .
74+ ## Changelog
4175
76+ See [ CHANGELOG.md] ( CHANGELOG.md ) . Note: this will be populated once the first crates have been
77+ published to crates.io.
4278
43- ### License
79+ ## License
4480
45810-Clause BSD License, see [ LICENSE-0BSD.txt] ( LICENSE-0BSD.txt ) for more details.
4682
0 commit comments