3
3
# stm32h5xx-hal
4
4
5
5
[ ![ docs.rs] ( https://docs.rs/stm32h5xx-hal/badge.svg )] ( https://docs.rs/stm32h5xx-hal )
6
- <!-- [](https://app.bors.tech/repositories/12691) -->
7
6
[ ![ CI] ( https://github.com/stm32-rs/stm32h5xx-hal/workflows/Continuous%20integration/badge.svg )] ( https://github.com/stm32-rs/stm32h5xx-hal/actions )
8
7
[ ![ Crates.io] ( https://img.shields.io/crates/v/stm32h5xx-hal.svg )] ( https://crates.io/crates/stm32h5xx-hal )
9
8
![ 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
16
15
chips in that same family without having to cut and paste crates for
17
16
every single model.
18
17
19
- ### Supported Configurations
18
+ ## Supported MCUs
20
19
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:
29
21
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 > | |
31
30
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
33
52
34
53
The Minimum Supported Rust Version (MSRV) at the moment is ** 1.78.0** . Older
35
54
versions ** may** compile, especially when some features are not used in your
36
55
application.
37
56
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 )
39
73
40
- See [ CHANGELOG.md ] ( CHANGELOG.md ) .
74
+ ## Changelog
41
75
76
+ See [ CHANGELOG.md] ( CHANGELOG.md ) . Note: this will be populated once the first crates have been
77
+ published to crates.io.
42
78
43
- ### License
79
+ ## License
44
80
45
81
0-Clause BSD License, see [ LICENSE-0BSD.txt] ( LICENSE-0BSD.txt ) for more details.
46
82
0 commit comments