The RP2040 microcontroller and the Raspberry Pi Pico board based on it were released some time ago. And recently, the developer David Given was able to port for him FuzixOS (or simply FUZIX), which was previously available for the ESP8266 microcontroller. The ported version for RP2040 has SD card support for the main file system and swap file and console support on UART0.
The OS supports running up to 15 processes (no multitasking yet) and running custom binaries using up to 64KB of memory for code and data. The OS has a number of standard programs: fsck, the Bourne shell, some Unix tools, a vi clone, and a few simple games. FUZIX is based on UZI, another old Unix to Z80 port project, and corresponds to Version 7 Unix with some additions from more recent systems up to SysV.
Given explained that the current Fuzix port on the RP2040 starts up stably, but still needs some work. It currently lacks support for multitasking, pipelines, and the ability to work with on-board NAND flash. The developer clarified that the port uses only one core of the dual-core Arm Cortex-M0 + chip, leaving the possibility of using another core and GPIO for other purposes. At the same time, the Fuzix port consumes only part of the 269 Kbytes of the device’s RAM for operation.
True, the Raspberry Pi Pico runs slightly slower at the nominal frequency than the ESP8266, although Given admitted that he had not yet overclocked the controller. But even in this case, the performance of the RP2040 is quite enough for FUZIX to work. Given used the existing documentation and the Raspberry Pi Pico SDK to build a Fuzix port on the RP2040. Find out more here, and the Raspberry Pi blog has detailed instructions on how to get FUZIX running. The author also ported FUZIX to ESP8266.
If you notice an error, select it with the mouse and press CTRL + ENTER. | Can you write better? We are always glad to new authors.