PROJECT DESCRIPTION
Fuzix OSは、古いUNIXシステムに触発されたオペレーティングシステムで、UNIX風の体験をより小さく、パワーが少ないマシンにもたらすことを目的としています。その軽量性とモジュラーなアーキテクチャは、レトロでミニマリスティックなシステムに適しています。
W5500を使用して、David GivenによるRaspberry Pi PicoへのFUZIXのポーティングに基づいてEthernetをポートしました。
ハードウェア
私はWIZnetからのW5500-EVB-Picoボードを使用しましたが、raspberry pi picoまたはRP2040ボード+W5500を使用し、ジャンプワイヤーでSPIラインを接続することもできます。
Git Clone and Branch Checkout
git clone -b rpipico-eth-w5500 https://github.com/wiznetmaker/FUZIX.git
cd FUZIX/Kernel/platform-rpipico
Set the path to your pico-sdk
/FUZIX/Kernel/platform-rpipico/Makefile
#export PICO_SDK_PATH = /home/dg/src/pico/pico-sdk
Check the SPI pins
/FUZIX/Kernel/platform-rpipico/devsdspi.c
#define Pico_ETH_SPI_SCK 18
#define Pico_ETH_SPI_TX 19
#define Pico_ETH_SPI_RX 16
#define Pico_ETH_SPI_CS 17
#define Pico_ETH_SPI_MOD spi0
Set the network information
FUZIX OSはDHCPをサポートしていないので、IP/Gateway/Subnet Mask
を手動で入力します。
/FUZIX/Kernel/dev/net/net_w5x00.c netdev_init
ipa = ntohl(0xC0A80001); //IP address
iga = ntohl(0xC0A800FE); //gateway
igm = ntohl(0xFFFFFF00); //subnet mask
Build and write Image
ビルド後、build/fuzix.uf2
ファイルとfilesystem.uf2
ファイルを Raspberry Pi Picoのフラッシュメモリ に書き込みます。
filesystem.imgファイルをSDカードに置き、それをRaspberry Pi Picoに接続するべきですが、この方法では成功しませんでした。
make world -j
make image -j
Test
htgetを実行すると、htmlファイルが2回保存されるのですが、その理由がわかりません。
デモビデオはこれ!!
https://www.youtube.com/watch?v=BZF0F5MT4w8
reference
code: https://github.com/wiznetmaker/FUZIX/tree/rpipico-eth-w5500
origin(EN): https://maker.wiznet.io/mason/projects/how-to-use-ethernet-in-fuzix-os-with-w5500-and-raspberry-pi-pico