Skip to content

Rust support for stm32u5 #744

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jan 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
- stm32mp1
- stm32wl
- stm32wb
- stm32u5

env:
CRATES: ${{ matrix.crate }}
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SVDTOOLS ?= svdtools

CRATES ?= stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 stm32h7 \
stm32l0 stm32l1 stm32l4 stm32l5 stm32g0 stm32g4 stm32mp1 \
stm32wl stm32wb
stm32wl stm32wb stm32u5

# All yaml files in devices/ will be used to patch an SVD
YAMLS := $(foreach crate, $(CRATES), \
Expand Down
3 changes: 3 additions & 0 deletions devices/stm32u575.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
_svd: ../svd/stm32u575.svd

_clear_fields: ["*"]
3 changes: 3 additions & 0 deletions devices/stm32u585.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
_svd: ../svd/stm32u585.svd

_clear_fields: ["*"]
2 changes: 2 additions & 0 deletions scripts/makecrates.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"stm32g0": ["critical-section", "rt", "stm32g030", "stm32g070", "stm32g0b0", "stm32g041", "stm32g081", "stm32g0c1"],
"stm32g4": ["critical-section", "rt", "stm32g431", "stm32g441", "stm32g474", "stm32g484"],
"stm32mp1": ["critical-section", "rt", "stm32mp157"],
"stm32u5": ["rt", "stm32u575", "stm32u585"],
"stm32wl": ["critical-section", "rt", "stm32wle5", "stm32wl5x_cm4"],
"stm32wb": ["critical-section", "rt", "stm32wb55"]
}
Expand All @@ -53,6 +54,7 @@
"stm32g0": "thumbv6m-none-eabi",
"stm32g4": "thumbv7em-none-eabihf",
"stm32mp1": "thumbv7em-none-eabihf",
"stm32u5": "thumbv8m.main-none-eabi",
"stm32wl": "thumbv7em-none-eabi",
"stm32wb": "thumbv7em-none-eabihf"
}
Expand Down
10 changes: 10 additions & 0 deletions stm32_part_table.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -747,3 +747,13 @@ stm32wb:
rm_url: https://www.st.com/resource/en/reference_manual/dm00318631-multiprotocol-wireless-32bit-mcu-armbased-cortexm4-with-fpu-bluetooth-lowenergy-and-802154-radio-solution-stmicroelectronics.pdf
members:
- STM32WB55

stm32u5:
stm32u5x5:
url: https://www.st.com/en/microcontrollers-microprocessors/stm32u5-series.html
rm: RM0456
rm_title: STM32U575 and STM32U585
rm_url: https://www.st.com/resource/en/reference_manual/rm0456-stm32u575585-armbased-32bit-mcus-stmicroelectronics.pdf
members:
- STM32U575
- STM32U585
5 changes: 5 additions & 0 deletions svd/extract.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,8 @@ mv stm32wle5_cm4.svd stm32wle5.svd
# Copy L4X2 svd into L412; a 412 one doesn't exist.
# We handle its modified RTC register block in `devices/stm32l412.yaml`.
cp stm32l4x2.svd stm32l412.svd

# Duplicate U5X5 to provide a copy for each chip
cp stm32u5xx.svd stm32u575.svd
cp stm32u5xx.svd stm32u585.svd
rm stm32u5xx.svd
Binary file added svd/vendor/en.STM32U5_svd.zip
Binary file not shown.