Rust bindings for NetX Duo (and FileX)
2026-04-26
For my port of the Rust standard library to ThreadX, I'd like initial support for threading and networking. I already have the ThreadX bindings; NetX Duo bindings are next for the networking stack.
libnetxduo-sys shares my bindings. These bindings should be enough for me to build an Ethernet driver in Rust. I'm still working out the high-level bindings for sockets and other network stack resources.
NetX Duo comes with an iperf demo. Run it on a microcontroller, and your MCU becomes an iperf client/server with a small web interface for running tests. This would be great for testing my Ethernet driver!
The iperf demo needs the NetX Duo web addon and FileX for its stub file system. I can enable the web addon with a Cargo feature flag on the libnetxduo-sys package. However, I wasn't anticipating a need for FileX so early in development.
Nevertheless, I put together libfilex-sys, a Rust package that only compiles FileX. Eventually it'll have bindings, but for now it's just enough to build the iperf demo in its own Rust package. I'll share the demo package later.