diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 693e3ba6a..b10ebb0a0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -36,6 +36,7 @@ jobs: - stm32mp1 - stm32wl - stm32wb + - stm32u5 env: CRATES: ${{ matrix.crate }} diff --git a/Makefile b/Makefile index fd0fc22dd..1d96bdaec 100644 --- a/Makefile +++ b/Makefile @@ -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), \ diff --git a/devices/stm32u575.yaml b/devices/stm32u575.yaml new file mode 100644 index 000000000..3e6d6b156 --- /dev/null +++ b/devices/stm32u575.yaml @@ -0,0 +1,3 @@ +_svd: ../svd/stm32u575.svd + +_clear_fields: ["*"] diff --git a/devices/stm32u585.yaml b/devices/stm32u585.yaml new file mode 100644 index 000000000..d640dc104 --- /dev/null +++ b/devices/stm32u585.yaml @@ -0,0 +1,3 @@ +_svd: ../svd/stm32u585.svd + +_clear_fields: ["*"] diff --git a/scripts/makecrates.py b/scripts/makecrates.py index a042a5a82..9889cef66 100644 --- a/scripts/makecrates.py +++ b/scripts/makecrates.py @@ -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"] } @@ -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" } diff --git a/stm32_part_table.yaml b/stm32_part_table.yaml index 78ad9737d..4780d58ea 100644 --- a/stm32_part_table.yaml +++ b/stm32_part_table.yaml @@ -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 diff --git a/svd/extract.sh b/svd/extract.sh index 92c7af8f4..1fc13781f 100755 --- a/svd/extract.sh +++ b/svd/extract.sh @@ -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 \ No newline at end of file diff --git a/svd/vendor/en.STM32U5_svd.zip b/svd/vendor/en.STM32U5_svd.zip new file mode 100644 index 000000000..bbe48e30e Binary files /dev/null and b/svd/vendor/en.STM32U5_svd.zip differ