[stm32f3] Implement initial support for stm32f3#35
Merged
AlexLanzano merged 1 commit intowolfSSL:mainfrom Apr 22, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds initial STM32F3 platform enablement by introducing STM32F3 driver aliases (mostly reusing STM32F0/STM32WB implementations), a new STM32F3 RCC driver, and a NUCLEO-F302R8 board target wired into CI.
Changes:
- Added STM32F3 “alias” headers and shim source files for GPIO/UART/SPI/I2C/Flash/IWDG/WWDG.
- Implemented an initial STM32F3 RCC driver and a STM32F302R8 convenience platform header.
- Added a new
stm32f302r8_nucleoboard (linker script, IVT/startup, board init, Makefile) and included it in boards CI.
Reviewed changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| wolfHAL/watchdog/stm32f3_wwdg.h | STM32F3 WWDG alias to STM32F0 WWDG symbols/types. |
| wolfHAL/watchdog/stm32f3_iwdg.h | STM32F3 IWDG alias to STM32F0/WB IWDG symbols/types. |
| wolfHAL/uart/stm32f3_uart.h | STM32F3 UART alias to STM32F0 UART symbols/types. |
| wolfHAL/spi/stm32f3_spi.h | STM32F3 SPI alias to STM32F0/WB SPI symbols/types. |
| wolfHAL/i2c/stm32f3_i2c.h | STM32F3 I2C alias to STM32F0/WB I2C symbols/types. |
| wolfHAL/gpio/stm32f3_gpio.h | STM32F3 GPIO alias to STM32F0/WB GPIO symbols/types and constants. |
| wolfHAL/flash/stm32f3_flash.h | STM32F3 Flash alias to STM32F0 flash plus latency helpers. |
| wolfHAL/clock/stm32f3_rcc.h | Public STM32F3 RCC configuration types and API. |
| wolfHAL/platform/st/stm32f302r8.h | STM32F302R8 register-map + clock-gate convenience macros. |
| tests/gpio/test_stm32f3_gpio.c | Reuses STM32F0/WB GPIO tests for STM32F3. |
| src/watchdog/stm32f3_wwdg.c | STM32F3 WWDG build shim including STM32F0 implementation with mapping translation. |
| src/watchdog/stm32f3_iwdg.c | STM32F3 IWDG build shim including STM32F0/WB implementation with mapping translation. |
| src/uart/stm32f3_uart.c | STM32F3 UART build shim including STM32F0 implementation with mapping translation. |
| src/spi/stm32f3_spi.c | STM32F3 SPI build shim including STM32F0/WB implementation. |
| src/i2c/stm32f3_i2c.c | STM32F3 I2C build shim including STM32F0/WB implementation. |
| src/gpio/stm32f3_gpio.c | STM32F3 GPIO build shim including STM32F0/WB implementation. |
| src/flash/stm32f3_flash.c | STM32F3 Flash build shim including STM32F0 implementation with mapping translation. |
| src/clock/stm32f3_rcc.c | New STM32F3 RCC implementation (SYSCLK + PLL + gating + I2C1 clock src). |
| src/spi/stm32wb_spi.c | Extends direct API mapping conditions to recognize STM32F3 for shared SPI impl. |
| src/i2c/stm32wb_i2c.c | Extends direct API mapping conditions to recognize STM32F3 for shared I2C impl. |
| src/gpio/stm32wb_gpio.c | Extends direct API mapping conditions to recognize STM32F3 for shared GPIO impl. |
| boards/stm32f302r8_nucleo/linker.ld | Linker script for STM32F302R8 memory layout. |
| boards/stm32f302r8_nucleo/ivt.c | Startup/IVT for STM32F302R8 Nucleo target. |
| boards/stm32f302r8_nucleo/board.h | Board-level device declarations and pin/flash constants. |
| boards/stm32f302r8_nucleo/board.c | Board bring-up wiring for clock/gpio/timer/uart/spi/i2c/flash/watchdog. |
| boards/stm32f302r8_nucleo/Makefile.inc | Build target integration for the STM32F302R8 Nucleo board. |
| boards/README.md | Documents the new board in the supported boards list. |
| .github/workflows/boards.yml | Adds stm32f302r8_nucleo to the CI board matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.