Tuesday, February 16, 2021

Fuzix: Unix on a Raspberry Pi Pico #RaspberryPiPico #Unix @hjalfi

David Given blogs about porting Fuzix, a small V7 Unix clone, to the new Raspberry Pi Pico microcontroller:

Working with the Pico was an experience: the documentation is excellent, as is the C SDK. The SDK provides a set of libraries which are thin wrappers around the underlying hardware, making most features utter simplicity to use. Unlike the ESP8266’s libraries, the Pico SDK is unopinionated and doesn’t require you to use any of its features: if you want to talk directly to the hardware, you can (and in fact there’s library support for doing just this).

There are some high-level features like a heap, stdio emulation, multicore primitives, etc which I’m not using, but if you don’t use them you don’t pay for them. For my embedded-systems brain it’s the ideal ratio of functionality to complexity.

The Fuzix port provides:

  • user binaries using up to 64kB of code and data each (this could be expanded, as there’s plenty of spare RAM)
  • up to 15 processes
  • a proper Unix filesystem
  • SD card support, used for both the filesystem and swap space
  • serial console on UART0
  • the full set of Fuzix core binaries work — fsck, Bourne shell, the standard Unix tools, a vi clone, etc, plus some simple games

If you’re looking for the source code, I’m currently upstreaming it piece by piece to the main FUZIX repository. Until that’s done, look in my own fork.

If you just want a binary to flash and try for yourself, here’s one: Raspberry Pi Pico Fuzix binaries

Poorly put-together, bugridden and unsupported Fuzix binaries for the Raspberry Pi Pico. Instructions are enclosed, more or less.

See more in the post here.

No comments:

Post a Comment