Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive bare-metal wolfIP TCP/IP stack support for the STM32H753ZI microcontroller (NUCLEO-H753ZI development board). The implementation includes a complete Ethernet driver, optional TLS 1.3 client support via wolfSSL, and hardware acceleration for cryptographic operations using the STM32H753's HASH/HMAC peripherals. The port is designed for resource-constrained bare-metal environments without RTOS dependencies and includes fixes for STM32H753 HASH peripheral register encoding discrepancies.
Changes:
- Complete bare-metal port including startup code, interrupt vectors, linker script, and newlib syscall stubs
- Ethernet MAC/PHY driver for RMII interface with LAN8742A PHY supporting DHCP and TCP/UDP communications
- Optional TLS 1.3 client with hardware-accelerated cryptography and wolfSSL integration
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/port/stm32h753/main.c | Main application with TCP echo server, TLS client test, clock/peripheral initialization |
| src/port/stm32h753/stm32h7_eth.c | Ethernet MAC/PHY driver implementation for RMII mode |
| src/port/stm32h753/stm32h7_eth.h | Ethernet driver API declarations |
| src/port/stm32h753/tls_client.c | TLS 1.3 client state machine and wolfSSL integration |
| src/port/stm32h753/tls_client.h | TLS client API declarations |
| src/port/stm32h753/startup.c | Cortex-M7 reset handler and system clock initialization |
| src/port/stm32h753/ivt.c | Interrupt vector table for STM32H753ZI |
| src/port/stm32h753/syscalls.c | Newlib syscall stubs for bare-metal operation |
| src/port/stm32h753/config.h | wolfIP stack configuration parameters |
| src/port/stm32h753/user_settings.h | wolfSSL cryptographic library configuration |
| src/port/stm32h753/stm32_hash_register.h | STM32H753 HASH peripheral register definitions with documented MD5/SHA-1 encoding fix |
| src/port/stm32h753/target.ld | Linker script with memory layout for ETH DMA buffers |
| src/port/stm32h753/Makefile | Build system with optional TLS/HTTPS support |
| src/port/stm32h753/README.md | Comprehensive documentation including setup, building, and troubleshooting |
| .gitignore | Generalized *.elf ignore pattern |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
danielinux
approved these changes
Feb 19, 2026
philljj
approved these changes
Feb 19, 2026
4 tasks
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.
Summary
Example Boot Output: