Skip to content

Stm32h5 support#20

Merged
AlexLanzano merged 5 commits intowolfSSL:mainfrom
AlexLanzano:stm32h5
Mar 28, 2026
Merged

Stm32h5 support#20
AlexLanzano merged 5 commits intowolfSSL:mainfrom
AlexLanzano:stm32h5

Conversation

@AlexLanzano
Copy link
Copy Markdown
Member

No description provided.

@AlexLanzano AlexLanzano self-assigned this Mar 28, 2026
Copilot AI review requested due to automatic review settings March 28, 2026 18:38
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds STM32H5 (STM32H563ZI Nucleo) platform support to wolfHAL by introducing STM32H5-specific drivers/aliases and a new board integration that is built and exercised in CI.

Changes:

  • Introduce STM32H5 RCC/SPI/RNG/Flash drivers plus STM32H5 GPIO/UART alias headers/sources.
  • Add STM32H563xx convenience device macros and a new stm32h563zi_nucleo board (startup, linker script, board init).
  • Update flash test pattern/alignment and include the new board in the CI matrix.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
wolfHAL/uart/stm32h5_uart.h UART alias layer mapping STM32H5 names to STM32WB UART implementation.
src/uart/stm32h5_uart.c STM32H5 UART implementation reuse via include-alias of stm32wb_uart.c.
wolfHAL/gpio/stm32h5_gpio.h GPIO alias layer mapping STM32H5 names/constants to STM32WB GPIO.
src/gpio/stm32h5_gpio.c STM32H5 GPIO implementation reuse via include-alias of stm32wb_gpio.c.
src/gpio/stm32wb_gpio.c Fix alt-function register programming to avoid 64-bit AFR access.
wolfHAL/spi/stm32h5_spi.h Public STM32H5 SPI config and API declarations.
src/spi/stm32h5_spi.c New STM32H5 SPI driver implementation using H5 register layout.
wolfHAL/rng/stm32h5_rng.h STM32H5 RNG public interface/docs and config struct.
src/rng/stm32h5_rng.c STM32H5 RNG driver with NIST configuration and data generation.
wolfHAL/flash/stm32h5_flash.h STM32H5 flash public interface/config (128-bit programming, 8KB sectors).
src/flash/stm32h5_flash.c STM32H5 flash driver implementation (unlock/lock/read/write/erase).
wolfHAL/clock/stm32h5_rcc.h STM32H5 RCC public config structs, enums, and API.
src/clock/stm32h5_rcc.c STM32H5 RCC implementation (HSI/PLL init, clock gating, rate calc, HSI48 ext).
wolfHAL/platform/st/stm32h563xx.h STM32H563xx device/clock-gate convenience macros for board configs.
wolfHAL/platform/arm/cortex_m33.h Cortex-M33 SysTick device macro for board timer init.
boards/stm32h563zi_nucleo/Makefile.inc Build integration for the new board/platform and driver selection.
boards/stm32h563zi_nucleo/board.h Board-level device declarations and flash test address/sector size.
boards/stm32h563zi_nucleo/board.c Board initialization (flash latency, clocks, peripheral init, device configs).
boards/stm32h563zi_nucleo/ivt.c Startup/interrupt vector table for STM32H563.
boards/stm32h563zi_nucleo/linker.ld Memory map and sections for STM32H563 board builds.
tests/flash/test_flash.c Align flash write/read test payload to work with stricter flash programming requirements.
docs/writing_a_driver.md Document the alias-driver pattern for reusing identical peripherals across platforms.
.github/workflows/ci.yml Add stm32h563zi_nucleo to CI build matrix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@AlexLanzano AlexLanzano merged commit 499626f into wolfSSL:main Mar 28, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants