Skip to content

[stm32] H7 ethernet and example - #1366

Open
hshose wants to merge 3 commits into
modm-io:developfrom
hshose:feature/h7ethernet
Open

[stm32] H7 ethernet and example#1366
hshose wants to merge 3 commits into
modm-io:developfrom
hshose:feature/h7ethernet

Conversation

@hshose

@hshose hshose commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Ethernet support with FreeRTOS for H7 devices.

Tested in hardware on NUCLEO-H723ZG.

image

@hshose
hshose force-pushed the feature/h7ethernet branch from d9ac13d to 54e78d0 Compare July 8, 2026 11:06
Comment thread src/modm/platform/eth/stm32/eth.hpp Outdated
@hshose
hshose force-pushed the feature/h7ethernet branch 4 times, most recently from e500528 to f16cbf9 Compare July 10, 2026 12:27

@salkinium salkinium left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm a bit unhappy that we're going to FreeRTOS instead of integrating lwip in fibers, because I don't really want to maintain two HALs for cooperative and preemtive scheduling, that just seems like the worst of both worlds.

But for now, yeah ok, fine.

Comment thread README.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Something is broken with this file, maybe you're using an old local modm-devices?

@hshose

hshose commented Jul 12, 2026

Copy link
Copy Markdown
Contributor Author

Will fix the modm-devices issue that is indeed a relic from my (failed) attempt to implement support for the cursed N6.

Also fine with me if this doesn't get merged if there is a plan to support lwip soon?

I don't like the FreeRTOS.

@salkinium

Copy link
Copy Markdown
Member

Oh yeah, I looked at the N6 and just said nope.

I'm currently working on a board that also has a LAN8742A chip but connected to a STM32H5, so there's at least a use case for me to integrate lwip. But it's not going to be soon, maybe by the end of the year.

I would merge this as is as it solves a problem, and with lbuild it's not in the way of anything else.

@hshose
hshose force-pushed the feature/h7ethernet branch 2 times, most recently from ce20327 to 20fe7a9 Compare July 13, 2026 08:04
@hshose

hshose commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

Split example and driver, rebased current develop

@WasabiFan

Copy link
Copy Markdown
Contributor

Just came across the thread and figured I'd note... I have a lwip wrapper implementation of Ethernet for the H7 that I've been using locally. Doesn't have a dependency on FreeRTOS. Invokes the standard lwip periodic callbacks in a fiber. I pulled in lwip as a submodule. I have only been using UDP and TCP, no higher network layers. UDP can saturate the 100Mbit link full duplex although I've been recently working on reducing copy overhead. Tested only on H753+LAN8742A, haven't implemented any other PHYs. I've kept it private rather than opening a PR because there's some AI-generated code that I don't want to burden maintainers with until I properly review it myself. But I would be happy to spend some time reviewing/cleaning it up and post a PR if folks are interested.

@salkinium

Copy link
Copy Markdown
Member

Yes please! You seem to not be the only one, @rleh has created a partial repo of lwip already here: https://github.com/modm-ext/lwip-partial

@hshose
hshose force-pushed the feature/h7ethernet branch from 20fe7a9 to 102f550 Compare July 28, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants