/FUZIX

FuzixOS: Because Small Is Beautiful

Primary LanguageCOtherNOASSERTION

FuzixOS: Because Small Is Beautiful, and Pico Is Realtime!

This is a fork of David Given's FUZIX Raspberry Pi Pico port, which in turn is a fork of Alan Cox's Fuzix. Look at those repositories for the README.md. Raspberry Pi Pico specific README and HOWTO is in its own code directory.

This fork adds a realtime thin layer to the original port in order to have all time-sensitive basic peripherals (ie: flash and usb) running on core0 and have core1 available for realtime user apps.

It adds:

  • Power and cpu clock management (WiP)
  • USB interfaces: 3 CDC ACM class for tty1-3, 1 Vendor class for binary data, extra interfaces for user applications (working)
  • Seamless handover between uart0 and USB, ie: uart0 available for user apps (working)
  • SD disks for root, swap and scratch (WiP)
  • USB disks for root, swap and scratch (WiP)
  • Support for /dev/{audio,gpio,kmem,i2c,input,mem,platform,rtc} (WiP)
  • Log macros with levels and colors (partially working)
  • ...

Currently the "thin" layer is pretty fat. No optimization or profiling has been done, as well as no DMA leveraging, but system boots on virtual devices and looks snappy.