diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0f34947d3..0e4dad806 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -35,6 +35,7 @@ jobs: - stm32u5 - stm32wl - stm32wb + - stm32wb0 - stm32wba env: diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f8ac549a..4a854c03a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ * L4: * Fix L412 LPTIM2, LPUART1, SPI1/2 and RCC interrupts and correct RCC SMENR register reset values (#1244) +* WB0: + * Initial support (#1246) + * WBA: * Initial support (#1229) diff --git a/Makefile b/Makefile index cdca2dec9..06d12936e 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ SVDTOOLS ?= svdtools CRATES ?= stm32c0 stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 \ stm32h5 stm32h7 stm32l0 stm32l1 stm32l4 stm32l5 stm32g0 stm32g4 \ - stm32mp1 stm32n6 stm32u0 stm32u5 stm32wl stm32wb stm32wba5 + stm32mp1 stm32n6 stm32u0 stm32u5 stm32wl stm32wb stm32w0 sstm32wba5 yamlsearch = $(if $(findstring $(1),stm32wb), \ $(wildcard devices/stm32wb[1-5]*.yaml), \ diff --git a/README.md b/README.md index f14e2919b..6c7c94020 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,12 @@ [![crates.io](https://img.shields.io/crates/v/stm32l1.svg?label=stm32l1)](https://crates.io/crates/stm32l1) [![crates.io](https://img.shields.io/crates/v/stm32l4.svg?label=stm32l4)](https://crates.io/crates/stm32l4) [![crates.io](https://img.shields.io/crates/v/stm32l5.svg?label=stm32l5)](https://crates.io/crates/stm32l5) -[![crates.io](https://img.shields.io/crates/v/stm32l5.svg?label=stm32n6)](https://crates.io/crates/stm32n6) [![crates.io](https://img.shields.io/crates/v/stm32mp1.svg?label=stm32mp1)](https://crates.io/crates/stm32mp1) -[![crates.io](https://img.shields.io/crates/v/stm32wl.svg?label=stm32wl)](https://crates.io/crates/stm32wl) +[![crates.io](https://img.shields.io/crates/v/stm32n6.svg?label=stm32n6)](https://crates.io/crates/stm32n6) +[![crates.io](https://img.shields.io/crates/v/stm32u0.svg?label=stm32u0)](https://crates.io/crates/stm32u0) +[![crates.io](https://img.shields.io/crates/v/stm32u5.svg?label=stm32u5)](https://crates.io/crates/stm32u5) [![crates.io](https://img.shields.io/crates/v/stm32wb.svg?label=stm32wb)](https://crates.io/crates/stm32wb) +[![crates.io](https://img.shields.io/crates/v/stm32wl.svg?label=stm32wl)](https://crates.io/crates/stm32wl) [![Matrix](https://img.shields.io/matrix/stm32-rs:matrix.org)](https://matrix.to/#/#stm32-rs:matrix.org) This repository provides Rust device support crates for all STM32 diff --git a/devices/stm32f768.yaml b/devices/stm32f768.yaml new file mode 100644 index 000000000..1c437dd5e --- /dev/null +++ b/devices/stm32f768.yaml @@ -0,0 +1,488 @@ +_svd: ../svd/stm32f768.svd + +_rebase: + USART1: USART6 + +_copy: + DFSDM: + from: ../svd/stm32f767.svd:DFSDM + TIM5: + from: TIM2 + +_derive: + TIM4: TIM3 + +_modify: + # Fix typo in the name of the LTDC peripheral + LTCD: + name: LTDC + Flash: + name: FLASH + +ADC_Common: + _include: fields/adc/adc_v2_multi.yaml + +ADC1: + _include: + - patches/adc/smpx_18.yaml + - fields/adc/adc_v2.yaml + - fields/adc/adc_v2/adc_v2_extsel_d.yaml + - collect/adc/jofr_jdr.yaml + +ADC[1]: + _include: collect/adc/derive_sq.yaml + +CAN1: + _include: + - fields/can/can.yaml + - collect/can/can.yaml + - collect/can/filter_bank.yaml + +CEC: + _include: + - fields/hdmi_cec.yaml + +CRC: + _modify: + INIT: + addressOffset: 0x10 + POL: + addressOffset: 0x14 + _include: + - patches/crc/crc_rename_init.yaml + - patches/crc/f7_polysize_rev_in_rev_out.yaml + - patches/crc/add_dr8.yaml + - fields/crc/v3_idr8.yaml + +CRYP: + _include: + - patches/cryp/merge_fields.yaml + - collect/cryp/v2.yaml + +DAC: + _include: + - fields/dac/f2_4_7.yaml + - collect/dac/v2.yaml + +# TODO fix DBG +DBGMCU: {} + +DCMI: + _include: + - patches/dcmi/byte.yaml + - fields/dcmi/v1.yaml + - collect/dcmi/dcmi.yaml + +DFSDM: + _strip: DFSDM_ + _modify: + DFSDM3_CR1: + addressOffset: 0x280 + _include: + - patches/dfsdm/f7.yaml + - fields/dfsdm/f7.yaml + - collect/dfsdm/f7.yaml + +DMA2: + _include: + - patches/dma/fcr_wo.yaml + - patches/dma/dma_v21.yaml + - fields/dma/dma_v21.yaml + - collect/dma/st.yaml + +DMA2D: + _include: + - fields/dma/dma2d_v1.yaml + +DSI: + _strip: DSI_ + _include: + - patches/dsi/f7_wpcr.yaml + - collect/dsi/isr.yaml + +Ethernet_DMA: + DMABMR: + _modify: + # This field is named incorrectly in the SVD compared to the RM + RTPR: + name: PM + +Ethernet_MAC: + MACFFR: + _modify: + # This field should be 2 bits wide but is only 1 bit in the SVD + PCF: + bitWidth: 2 + # All these fields are named incorrectly in the SVD compared to RM0090 + MACA1LR: + _modify: + MACA1LR: + name: MACA1L + MACA2HR: + _modify: + MAC2AH: + name: MACA2H + MACA2LR: + _modify: + MACA2L: + bitWidth: 32 + MACA3LR: + _modify: + MBCA3L: + name: MACA3L + +#Ethernet_MMC: {} +#Ethernet_PTP: {} + +EXTI: + _include: + - patches/exti/add_fpu_interrupt.yaml + - fields/exti/common.yaml + - collect/exti/farray.yaml + +FLASH: + _include: + - patches/flash/acr/latency_16_states.yaml + - patches/flash/cr/mer1_mer2.yaml + - patches/flash/optcr/nwrp.yaml + - patches/flash/optkeyr/optkeyr.yaml + - patches/flash/sr/erserr.yaml + - fields/flash/acr/common_f7.yaml + - fields/flash/acr/latency_16_states.yaml + - fields/flash/cr/common_f2_f4_f7.yaml + - fields/flash/cr/errie.yaml + - fields/flash/cr/mer1_mer2.yaml + - fields/flash/keyr/common.yaml + - fields/flash/optcr/common.yaml + - fields/flash/optcr/iwdg_wwdg.yaml + - fields/flash/optcr/ndbank_ndboot.yaml + - fields/flash/optcr1/boot.yaml + - fields/flash/optkeyr/common.yaml + - fields/flash/sr/common_f2_f4_f7.yaml + - fields/flash/sr/erserr.yaml + - collect/flash/optcr/nwrp.yaml + +FMC: + _include: + - patches/fsmc/bwtr_clean.yaml + - patches/fsmc/sramfix.yaml + - patches/fsmc/nand.yaml + - fields/fsmc/sram.yaml + - fields/fsmc/bcr1.yaml + - fields/fsmc/nand.yaml + - fields/fsmc/sd.yaml + - collect/fsmc/sram.yaml + - collect/fsmc/sd.yaml + +FM[C]: + _include: + - collect/fsmc/sram_derive.yaml + - collect/fsmc/sd_derive.yaml + +GPIO[ABD]: + _include: + - fields/gpio/v2/common.yaml + - collect/gpio/v2.yaml + +GPIO[A]: + _include: collect/gpio/gpioa_afr.yaml +GPIO[BD]: + _include: collect/gpio/v2_derive.yaml + +HASH: + _include: + - collect/hash/v2.yaml + +I2C2: + _add: + _interrupts: + I2C2_EV: + description: I2C2 event interrupt + value: 33 + I2C2_ER: + description: I2C2 error interrupt + value: 34 + +I2C1: + _include: + - fields/i2c/v2.yaml + +IWDG: + _include: + - patches/16bit.yaml + - fields/iwdg/iwdg_with_WINR.yaml + +JPEG: + _strip: JPEG_ + _include: + - collect/jpeg/ram_f7.yaml + +LPTIM1: + _include: + - fields/lptim/v1.yaml + +LTDC: + _add: + _interrupts: + LCD_TFT_1: + description: LCD-TFT global error interrupt + value: 89 + _include: + - patches/ltdc/f7_ltdc_interrupts.yaml + - patches/ltdc/ltdc.yaml + - patches/ltdc/f4_f7_ltdc_bccr.yaml + - fields/ltdc/ltdc.yaml + - collect/ltdc/layer.yaml + +MDIOS: + _strip: MDIOS_ + _include: + - collect/mdios/dinr_doutr.yaml + +OTG_FS_*: + _strip: OTG_FS_ + +OTG_FS_DEVICE: + _include: + - patches/usb_otg/fs_v2_device.yaml + - collect/usb_otg/fs_device.yaml +OTG_FS_GLOBAL: + _include: + - patches/usb_otg/fs_v2_global.yaml + - collect/usb_otg/fs_global.yaml +OTG_FS_HOST: + _include: + - patches/usb_otg/fs_host_addr.yaml + - patches/usb_otg/fs_v2_host.yaml + - collect/usb_otg/fs_host.yaml +OTG_FS_PWRCLK: {} + +OTG_HS_*: + _strip: OTG_HS_ + +OTG_HS_DEVICE: + _include: + - patches/usb_otg/hsdevice.yaml + - collect/usb_otg/hs_device.yaml +OTG_HS_GLOBAL: + _include: + - patches/usb_otg/hsglobal.yaml + - patches/usb_otg/gotgctl.yaml + - collect/usb_otg/hs_global.yaml +OTG_HS_HOST: + _include: + - patches/usb_otg/hshost_address_12_15.yaml + - collect/usb_otg/hs_host.yaml +OTG_HS_PWRCLK: {} + +PWR: + _include: + - fields/pwr/pwr_f7.yaml + +QUADSPI: + _include: + - patches/quadspi/dr_multi_access.yaml + - fields/quadspi/quadspi_v1_dual_flash.yaml + +RCC: + PLLCFGR: + _add: + PLLR: + description: PLL division factor for DSI clock + bitOffset: 28 + bitWidth: 3 + access: read-write + _include: + - patches/rcc/pllsai.yaml + - patches/rcc/add_plli2sp.yaml + - patches/rcc/f7_apbenr.yaml + - patches/rcc/f7_lsedrv.yaml + - patches/rcc/f7_rename_dckcfgr.yaml + - patches/rcc/f7_dckcfgr.yaml + - patches/rcc/f7_dckcfgr_RM0410.yaml + - patches/rcc/f765_f7x7_f7x9_common.yaml + - patches/rcc/f745_f750_f765_f7x6_f7x7_f7x9.yaml + - patches/rcc/rcc_merge_sw_sws.yaml + - patches/rcc/rcc_merge_rtcsel.yaml + - fields/rcc/v2/f7.yaml + - fields/rcc/v2/pllcfgr_pllr.yaml + - fields/rcc/v2/i2s_pllp.yaml + - fields/rcc/v2/sai_pllr.yaml + - fields/rcc/v2/dckcfgr_saidivr.yaml + - fields/rcc/v2/dckcfgr_dfsdm_f7.yaml + - fields/rcc/v2/dckcfgr_dsisel.yaml + - fields/rcc/v2/dckcfgr2_cecsel.yaml + +RNG: + _include: + - fields/rng/v1.yaml + +RTC: + _include: + - patches/rtc/alarm.yaml + - patches/rtc/rtc_cr.yaml + - fields/rtc/v2/common.yaml + - collect/rtc/alarm.yaml + - collect/rtc/bkpr.yaml + +SAI1: + _include: + - patches/sai/sai_v1.yaml + - fields/sai/sai.yaml + - collect/sai/ch.yaml + +SDMMC1: + _include: + - patches/sdio_sdmmc/f745_f750_f765_f7x6_f7x7_f7x9.yaml + - patches/sdio_sdmmc/cardstatus.yaml + - fields/sdio/v1.yaml + - collect/sdio/resp.yaml + +SPDIFRX: {} + +SPI1: + _include: + - patches/16bit.yaml + - patches/spi/dr8.yaml + - fields/spi/spi_v2.yaml + +SYSCFG: + _include: + - patches/syscfg/f745_f750_f765_f7x6_f7x7_f7x9.yaml + - patches/syscfg/f765_f7x7_f7x9.yaml + +TIM1: + _include: + - patches/tim/v2/add_sms_bit3.yaml + - patches/tim/icpsc.yaml + - patches/tim/v2/uifremap_fix.yaml + - patches/tim/v2/add_uifcpy.yaml + - patches/tim/v2/add_cc4np.yaml + - patches/tim/v2/add_bkf.yaml + - patches/tim/v2/add_af.yaml + - patches/tim/v2/add_cc5.yaml + - patches/tim/dmab_32.yaml + - patches/tim/v2/oc5m_bit3.yaml + - patches/tim/v2/add_ocm_bit3.yaml + - patches/tim/rep_16b.yaml + - fields/tim/tim_mms_ts_sms.yaml + - fields/tim/v2/tim1.yaml + - collect/tim/ccr.yaml + _modify: + CRR6: + name: CCR6 + +TIM[25]: + _include: + - patches/tim/v2/add_sms_bit3.yaml + - patches/tim/tim_o24ce.yaml + - patches/tim/icpsc.yaml + - patches/tim/v2/uifremap_fix.yaml + - patches/tim/tim2_common_32bit.yaml + - patches/tim/v2/add_uifcpy.yaml + - patches/tim/v2/add_ocm_bit3.yaml + - fields/tim/tim_mms_ts_sms.yaml + - fields/tim/v2/tim2.yaml + - collect/tim/ccr.yaml + _modify: + OR1: + name: OR + _delete: + - OR2 + +TIM2: + OR: + _delete: + - TI4_RMP + - ETR1_RMP + _modify: + ITR1_RMP: + bitOffset: 10 + bitWidth: 2 + +TIM5: + _include: collect/tim/tim5_derive.yaml + OR: + _modify: + TI4_RMP: + bitOffset: 6 + _delete: + - ETR1_RMP + - ITR1_RMP + +TIM3: + _include: + - patches/tim/v2/add_sms_bit3.yaml + - patches/tim/tim_o24ce.yaml + - patches/tim/icpsc.yaml + - patches/tim/v2/uifremap_fix.yaml + - patches/tim/tim_ch_16bit_l.yaml + - patches/tim/v2/add_uifcpy.yaml + - patches/tim/v2/add_ocm_bit3.yaml + - fields/tim/tim_mms_ts_sms.yaml + - fields/tim/v2/tim3.yaml + - collect/tim/ccr.yaml + _delete: + - OR1 + - OR2 + +TIM6: + _include: + - patches/tim/v2/uifremap_fix.yaml + - patches/tim/v2/add_uifcpy.yaml + - fields/tim/v2/tim6.yaml + +TIM9: + _include: + - patches/tim/icpsc.yaml + - patches/tim/v2/uifremap_fix.yaml + - patches/tim/v2/add_uifcpy.yaml + - patches/tim/v2/add_ocm1_bit3.yaml + - patches/tim/v2/add_ocm2_bit3.yaml + - patches/tim/v2/add_sms_bit3.yaml + - patches/tim/tim9_ic1f.yaml + - fields/tim/v2/tim9.yaml + - collect/tim/ccr.yaml + +TIM10: + _include: + - patches/tim/tim10_14_missing_opm.yaml + - patches/tim/icpsc.yaml + - patches/tim/v2/uifremap_fix.yaml + - patches/tim/v2/add_uifcpy.yaml + - patches/tim/v2/add_ocm1_bit3.yaml + - fields/tim/v2/tim10.yaml + - collect/tim/ccr.yaml + _delete: + - SMCR + +USART1: + _include: + - patches/usart/merge_CR1_DEDTx_fields.yaml + - patches/usart/merge_CR1_DEATx_fields.yaml + - patches/usart/merge_CR2_ABRMODx_fields.yaml + - patches/usart/merge_CR2_ADDx_fields.yaml + - patches/usart/rename_CR2_DATAINV_field.yaml + - patches/usart/merge_BRR_fields.yaml + - fields/usart/v3/B.yaml + +WWDG: + _include: + - patches/16bit.yaml + - fields/wwdg/wwdg.yaml + +_include: + - patches/ltdc/rename.yaml + - patches/f7_lptim_interrupt.yaml + - patches/ethernet/mac_regs.yaml + - patches/ethernet/mmc.yaml + - fields/eth/eth_dma_common.yaml + - fields/eth/eth_dma_mb_edfe_dmarswtr.yaml + - fields/eth/eth_mac_common.yaml + - fields/eth/eth_mac_cstf.yaml + - fields/eth/eth_mmc_common.yaml + - fields/eth/eth_mmc_mcfhp_mcp.yaml + - patches/tim/group.yaml + - patches/dbgmcu/f7.yaml + - patches/ethernet/f4_f7.yaml + - fields/eth/eth_ptp_ppsfreq.yaml diff --git a/devices/stm32wb05.yaml b/devices/stm32wb05.yaml new file mode 100644 index 000000000..cc6b58d46 --- /dev/null +++ b/devices/stm32wb05.yaml @@ -0,0 +1,80 @@ +_svd: ../svd/stm32wb05.svd + +_clear_fields: "*" + +_modify: + BLUE_REG: + name: BLUE + GLOBALSTATMACH_REG: + name: GLOBALSTATMACH + RADIO_CONTROL_REG: + name: RADIO_CONTROL + RADIO_REG_REG: + name: RADIO + RRM_REG: + name: RRM + WAKEUP_REG: + name: WAKEUP + +ADC: {} + +BLUE: {} + +CRC: + _strip: CRC_ + +DMA: + _strip: DMA_ + +DMAMUX: {} + +FLASH_CTRL: {} + +GLOBALSTATMACH: {} + +GPIO[AB]: {} + +I2C1: + _strip: I2C_ + +IWDG: + _strip: IWDG_ + +LPUART: {} + +PKA: + _strip: PKA_ + +PWRC: {} + +RADIO: + _strip: RADIO_ + +RADIO_CONTROL: + _strip: RADIO_CONTROL_ + +RCC: {} + +RNG: + _strip: RNG_ + +RRM: {} + +RTC: + _strip: RTC_ + +SPI3: + _strip: SPIx_ + +SYSTEM_CTRL: {} + +TIM2: {} + +TIM16: {} + +TIM17: {} + +USART: {} + +WAKEUP: + _strip: WAKEUP_ diff --git a/devices/stm32wb06.yaml b/devices/stm32wb06.yaml new file mode 100644 index 000000000..70be1eaf2 --- /dev/null +++ b/devices/stm32wb06.yaml @@ -0,0 +1,67 @@ +_svd: ../svd/stm32wb06.svd + +_clear_fields: "*" + +ADC: {} + +BLUE: {} + +CRC: + _strip: CRC_ + +DMA: + _strip: DMA_ + +DMAMUX: {} + +FLASH_CTRL: {} + +GLOBALSTATMACH: {} + +GPIO[AB]: + _strip: GPIO?_ + +I2C1: + _strip: I2C_ + +I2C2: + _strip: I2C2_ + +IWDG: + _strip: IWDG_ + +LPUART: {} + +PKA: + _strip: PKA_ + +PWRC: {} + +RADIO: + _strip: RADIO_ + +RADIO_CONTROL: + _strip: RADIO_CONTROL_ + +RCC: {} + +RNG: + _strip: RNG_ + +RRM: {} + +RTC: + _strip: RTC_ + +SPI[123]: + _strip: SPI?_ + +SYSTEM_CTRL: {} + +TIM1: {} + +USART: + _strip: USART_ + +WAKEUP: + _strip: WAKEUP_ diff --git a/devices/stm32wb07.yaml b/devices/stm32wb07.yaml new file mode 100644 index 000000000..a7f55a5cc --- /dev/null +++ b/devices/stm32wb07.yaml @@ -0,0 +1,67 @@ +_svd: ../svd/stm32wb07.svd + +_clear_fields: "*" + +ADC: {} + +BLUE: {} + +CRC: + _strip: CRC_ + +DMA: + _strip: DMA_ + +DMAMUX: {} + +FLASH_CTRL: {} + +GLOBALSTATMACH: {} + +GPIO[AB]: + _strip: GPIO?_ + +I2C1: + _strip: I2C_ + +I2C2: + _strip: I2C2_ + +IWDG: + _strip: IWDG_ + +LPUART: {} + +PKA: + _strip: PKA_ + +PWRC: {} + +RADIO: + _strip: RADIO_ + +RADIO_CONTROL: + _strip: RADIO_CONTROL_ + +RCC: {} + +RNG: + _strip: RNG_ + +RRM: {} + +RTC: + _strip: RTC_ + +SPI[123]: + _strip: SPI?_ + +SYSTEM_CTRL: {} + +TIM1: {} + +USART: + _strip: USART_ + +WAKEUP: + _strip: WAKEUP_ diff --git a/devices/stm32wb09.yaml b/devices/stm32wb09.yaml new file mode 100644 index 000000000..77c21932f --- /dev/null +++ b/devices/stm32wb09.yaml @@ -0,0 +1,66 @@ +_svd: ../svd/stm32wb09.svd + +_clear_fields: "*" + +ADC: {} + +BLUE: {} + +CRC: + _strip: CRC_ + +DMA: + _strip: DMA_ + +DMAMUX: {} + +FLASH_CTRL: {} + +GLOBALSTATMACH: {} + +GPIO[AB]: {} + +I2C1: + _strip: I2C_ + +IWDG: + _strip: IWDG_ + +LPUART: {} + +PKA: + _strip: PKA_ + +PWRC: {} + +RADIO: + _strip: RADIO_ + +RADIO_CONTROL: + _strip: RADIO_CONTROL_ + +RCC: {} + +RRM: {} + +RTC: + _strip: RTC_ + +SPI3: + _strip: SPIx_ + +SYSTEM_CTRL: {} + +TIM2: {} + +TIM16: {} + +TIM17: {} + +TRNG: + _strip: TRNG_ + +USART: {} + +WAKEUP: + _strip: WAKEUP_ diff --git a/scripts/makecrates.py b/scripts/makecrates.py index ac446b897..46ba59ac3 100644 --- a/scripts/makecrates.py +++ b/scripts/makecrates.py @@ -21,29 +21,31 @@ } SVD2RUST_VERSION = "0.36.1" +COMMON_DOC_FEATURES = ["atomics", "critical-section", "defmt", "rt"] CRATE_DOC_FEATURES = { - "stm32c0": ["atomics", "critical-section", "defmt", "rt", "stm32c011", "stm32c031", "stm32c071"], - "stm32f0": ["atomics", "critical-section", "defmt", "rt", "stm32f0x0", "stm32f0x1", "stm32f0x2", "stm32f0x8"], - "stm32f1": ["atomics", "critical-section", "defmt", "rt", "stm32f100", "stm32f101", "stm32f102", "stm32f103", "stm32f107"], - "stm32f2": ["atomics", "critical-section", "defmt", "rt", "stm32f215", "stm32f217"], - "stm32f3": ["atomics", "critical-section", "defmt", "rt", "stm32f302", "stm32f303", "stm32f373"], - "stm32f4": ["atomics", "critical-section", "defmt", "rt", "stm32f401", "stm32f407", "stm32f413", "stm32f469"], - "stm32f7": ["atomics", "critical-section", "defmt", "rt", "stm32f733", "stm32f779"], - "stm32h5": ["atomics", "critical-section", "defmt", "rt", "stm32h503", "stm32h533", "stm32h562", "stm32h573"], - "stm32h7": ["atomics", "critical-section", "defmt", "rt", "stm32h735", "stm32h750", "stm32h753", "stm32h753v", "stm32h757cm7", "stm32h7b3"], - "stm32l0": ["atomics", "critical-section", "defmt", "rt", "stm32l0x0", "stm32l0x1", "stm32l0x2", "stm32l0x3"], - "stm32l1": ["atomics", "critical-section", "defmt", "rt", "stm32l100", "stm32l151", "stm32l162"], - "stm32l4": ["atomics", "critical-section", "defmt", "rt", "stm32l4x1", "stm32l4x5"], - "stm32l5": ["atomics", "critical-section", "defmt", "rt", "stm32l562"], - "stm32g0": ["atomics", "critical-section", "defmt", "rt", "stm32g030", "stm32g070", "stm32g0b0", "stm32g041", "stm32g081", "stm32g0c1"], - "stm32g4": ["atomics", "critical-section", "defmt", "rt", "stm32g431", "stm32g441", "stm32g474", "stm32g484"], - "stm32mp1": ["atomics", "critical-section", "defmt", "rt", "stm32mp157"], - "stm32n6": ["atomics", "critical-section", "defmt", "rt", "stm32n645", "stm32n655", "stm32n647", "stm32n657"], - "stm32u0": ["atomics", "critical-section", "defmt", "rt", "stm32u031", "stm32u083"], - "stm32u5": ["atomics", "critical-section", "defmt", "rt", "stm32u535", "stm32u545", "stm32u575", "stm32u585", "stm32u595", "stm32u5a5", "stm32u599", "stm32u5a9"], - "stm32wl": ["atomics", "critical-section", "defmt", "rt", "stm32wle5", "stm32wl5x_cm4"], - "stm32wb": ["atomics", "critical-section", "defmt", "rt", "stm32wb55"], - "stm32wba": ["atomics", "critical-section", "defmt", "rt", "stm32wba50", "stm32wba52", "stm32wba54", "stm32wba55"] + "stm32c0": ["stm32c011", "stm32c031", "stm32c071"], + "stm32f0": ["stm32f0x0", "stm32f0x1", "stm32f0x2", "stm32f0x8"], + "stm32f1": ["stm32f100", "stm32f101", "stm32f102", "stm32f103", "stm32f107"], + "stm32f2": ["stm32f215", "stm32f217"], + "stm32f3": ["stm32f302", "stm32f303", "stm32f373"], + "stm32f4": ["stm32f401", "stm32f407", "stm32f413", "stm32f469"], + "stm32f7": ["stm32f733", "stm32f779"], + "stm32h5": ["stm32h503", "stm32h533", "stm32h562", "stm32h573"], + "stm32h7": ["stm32h735", "stm32h750", "stm32h753", "stm32h753v", "stm32h757cm7", "stm32h7b3"], + "stm32l0": ["stm32l0x0", "stm32l0x1", "stm32l0x2", "stm32l0x3"], + "stm32l1": ["stm32l100", "stm32l151", "stm32l162"], + "stm32l4": ["stm32l4x1", "stm32l4x5"], + "stm32l5": ["stm32l562"], + "stm32g0": ["stm32g030", "stm32g070", "stm32g0b0", "stm32g041", "stm32g081", "stm32g0c1"], + "stm32g4": ["stm32g431", "stm32g441", "stm32g474", "stm32g484"], + "stm32mp1": ["stm32mp157"], + "stm32n6": ["stm32n645", "stm32n655", "stm32n647", "stm32n657"], + "stm32u0": ["stm32u031", "stm32u083"], + "stm32u5": ["stm32u535", "stm32u545", "stm32u575", "stm32u585", "stm32u595", "stm32u5a5", "stm32u599", "stm32u5a9"], + "stm32wl": ["stm32wle5", "stm32wl5x_cm4"], + "stm32wb": ["stm32wb55"], + "stm32wb0": ["stm32wb05", "stm32wb07", "stm32wb09"], + "stm32wba": ["stm32wba50", "stm32wba52", "stm32wba54", "stm32wba55"] } CRATE_DOC_TARGETS = { @@ -68,6 +70,7 @@ "stm32u5": "thumbv8m.main-none-eabi", "stm32wl": "thumbv7em-none-eabi", "stm32wb": "thumbv7em-none-eabihf", + "stm32wb0": "thumbv6m-none-eabi", "stm32wba": "thumbv8m.main-none-eabihf", } @@ -253,6 +256,8 @@ def main(devices_path, yes, families): family = 'stm32wl' if family.startswith('stm32wba'): family = 'stm32wba' + elif family.startswith('stm32wb0'): + family = 'stm32wb0' elif family.startswith('stm32wb'): family = 'stm32wb' device = os.path.splitext(yamlfile)[0].lower() @@ -283,7 +288,7 @@ def main(devices_path, yes, families): version = VERSION["default"] cargo_toml = CARGO_TOML_TPL.format( family=ufamily, crate=crate_name, version=version, features=features, - docs_features=str(CRATE_DOC_FEATURES[crate]), + docs_features=str(COMMON_DOC_FEATURES + CRATE_DOC_FEATURES[crate]), doc_target=CRATE_DOC_TARGETS[crate]) readme = README_TPL.format( family=ufamily, crate=crate_name, device=devices[family][0], diff --git a/stm32_part_table.yaml b/stm32_part_table.yaml index 4049d8fc0..b716499d9 100644 --- a/stm32_part_table.yaml +++ b/stm32_part_table.yaml @@ -836,6 +836,30 @@ stm32wb: members: - STM32WB55 +stm32wb0: + stm32wb05: + url: https://www.st.com/en/microcontrollers-microprocessors/stm32wb0-series.html + rm: RM0529 + rm_title: STM32WB05xZ + rm_url: https://www.st.com/resource/en/reference_manual/rm0529-stm32wb05xz-ultralow-power-wireless-32bit-mcu-armbased-cortexm0-with-bluetooth-low-energy-and-24-ghz-radio-solution-stmicroelectronics.pdf + members: + - STM32WB05 + stm32wb06-07: + url: https://www.st.com/en/microcontrollers-microprocessors/stm32wb0-series.html + rm: RM0530 + rm_title: STM32WB07xC and STM32WB06xC + rm_url: https://www.st.com/resource/en/reference_manual/rm0530--stm32wb07xc-and-stm32wb06xc-ultralow-power-wireless-32bit-mcus-armbased-cortexm0-with-bluetooth-le-and-24-ghz-radio-solution-stmicroelectronics.pdf + members: + - STM32WB06 + - STM32WB07 + stm32wb09: + url: https://www.st.com/en/microcontrollers-microprocessors/stm32wb0-series.html + rm: RM0505 + rm_title: STM32WB09xE + rm_url: https://www.st.com/resource/en/reference_manual/rm0505-ultralow-power-wireless-32bit-mcu-armbased-cortexm0-with-bluetooth-le-and-24-ghz-radio-solution-stmicroelectronics.pdf + members: + - STM32WB09 + stm32wba: stm32wba50: url: https://www.st.com/en/microcontrollers-microprocessors/stm32wba50.html diff --git a/svd/download.sh b/svd/download.sh index 5d0833466..8070d6594 100755 --- a/svd/download.sh +++ b/svd/download.sh @@ -21,6 +21,7 @@ declare -a arr=( "stm32u0-svd" "stm32u5_svd" "stm32wb_svd" + "stm32wb0-svd" "stm32wba5-svd" "stm32wl-svd" "stm32wl3-svd" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy