Uh oh!
There was an error while loading. Please reload this page.
Implement wolfcrypt + wolfHAL example - #615
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new bare-metal wolfCrypt + wolfHAL example targeting the STM32WB55 Nucleo, and wires it into CI/manifest so it is cross-built against wolfSSL master.
Changes:
- Introduces
wolfHAL/example app + STM32WB55 board bring-up (clock, UART, SysTick, AES1, RNG) and wolfCrypt configuration for hardware offload via wolfHAL. - Adds a dedicated build system (board-owned toolchain/linker/driver list; objects in
build/) and documentation for building/flashing and adding boards. - Adds CI workflow + composite action to cross-build the board(s), and registers the example in the repo’s manifest + nightly.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
wolfHAL/user_settings.h | wolfCrypt configuration for the example (wolfHAL + RNG + AES offload, embedded-only feature set). |
wolfHAL/syscalls.c | Bare-metal libc stubs and UART-backed stdout support. |
wolfHAL/README.md | Build/flash instructions, supported boards, and guidance for adding new boards. |
wolfHAL/Makefile | Example build system compiling wolfCrypt from source + board sources + wolfHAL drivers. |
wolfHAL/main.c | Example entrypoint running wolfcrypt_test() then benchmark_test() with SysTick timing hook. |
wolfHAL/boards/stm32wb55xx_nucleo/linker.ld | Board linker script defining memory layout, heap/stack bounds, and sections. |
wolfHAL/boards/stm32wb55xx_nucleo/ivt.c | Startup/vector table and reset initialization code for the board. |
wolfHAL/boards/stm32wb55xx_nucleo/board.mk | Board toolchain selection, CFLAGS/LDFLAGS, and driver source list. |
wolfHAL/boards/stm32wb55xx_nucleo/board.h | Board device configuration/macros consumed by wolfHAL drivers and wolfSSL wolfHAL port dispatch. |
wolfHAL/boards/stm32wb55xx_nucleo/board.c | Board bring-up/deinit: clock tree, GPIO, UART, SysTick timer, RNG, AES. |
wolfHAL/.gitignore | Ignore example build outputs (updated as part of PR). |
.gitmodules | Adds wolfHAL as a pinned submodule at wolfHAL/wolfHAL. |
.github/workflows/wolfhal.yml | CI workflow to cross-build wolfHAL boards against wolfSSL master. |
.github/workflows/nightly.yml | Registers wolfHAL workflow in nightly. |
.github/scripts/manifest.py | Registers wolfhal job/path for manifest job tracking. |
.github/examples-manifest.yml | Adds wolfhal example entry (tier: cross, build-only). |
.github/actions/wolfhal-build/action.yml | Composite action to build a board and assert wolfHAL port is linked/dispatching. |
Suppressed comments (1)
wolfHAL/boards/stm32wb55xx_nucleo/ivt.c:22
- ISR declarations use empty parameter lists, which will warn/error with -Wstrict-prototypes. Also, SysTick_Handler is declared noreturn via alias, but the real SysTick_Handler implementation returns (board.c), which can also trigger attribute mismatch diagnostics under -Werror.
void Reset_Handler() __attribute__((weak));
void NMI_Handler() __attribute__((weak, noreturn, alias("Default_Handler")));
void HardFault_Handler() __attribute__((weak, noreturn, alias("Default_Handler")));
void MemManage_Handler() __attribute__((weak, noreturn, alias("Default_Handler")));
void BusFault_Handler() __attribute__((weak, noreturn, alias("Default_Handler")));
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This PR relies on the wolfHAL integration for wolfssl to be merged first wolfSSL/wolfssl#11033
CI test will fail
Output for STM32WB55 Nucleo board using wolfHAL