Skip to content

jrsharp/9p4z

Repository files navigation

9P for Zephyr

A clean, modern 9P protocol library implementation for Zephyr RTOS.

Features

  • 9P2000 Protocol - Full message parsing and serialization
  • Multiple Transports - UART, TCP/IPv4, TCP/IPv6, Bluetooth L2CAP, Thread
  • Zephyr Native - Proper module integration with Kconfig
  • No Dynamic Allocation - Fixed resource tables for embedded systems
  • Comprehensive Tests - 31 test cases with 100% core coverage
  • CI/CD Ready - GitHub Actions integration

Transport Support

  • UART - Serial transport with interrupt-driven RX
  • TCP/IPv4 - Network transport with server and client support
  • TCP/IPv6 - IPv6 network transport
  • Bluetooth L2CAP - Bluetooth transport with connection-oriented channels
  • Thread/OpenThread - Mesh network transport over 802.15.4

Quick Start

# Clone the repository
git clone https://github.com/YOUR_USERNAME/9p4z.git
cd 9p4z

# Run setup script (creates clean workspace)
./scripts/setup-workspace.sh

# Activate environment
cd ../9p4z-workspace
source activate.sh

# Run tests (macOS: use qemu_x86, Linux: use native_posix)
west build -b qemu_x86 9p4z/tests
west build -t run

# Build sample
west build -b qemu_x86 9p4z/samples/uart_echo

See QUICKSTART.md for detailed setup instructions.

Documentation

Use Cases

  • Remote filesystem access for embedded devices
  • Device configuration/management via 9P
  • Sensor data exposure (e.g., /sensors/temperature)
  • Distributed IoT systems with uniform file-like interface
  • Embedded Linux device development and debugging

License

MIT License - see LICENSE file for details

About

9P for Zephyr

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages