Merged
Conversation
…basic support for stm32h5
…plement stm32h5_spi driver
There was a problem hiding this comment.
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_nucleoboard (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.
…all bugs. Add cortex-m33 platform header
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.