👨‍💻

RP2350とRP2040のベンチマークをとろうとして、Fuzixのディスクにコマンドを追加するのに苦労した話

2024/12/21に公開

はじめに

8ビットCPUやマイクロコントローラで動作するOSに、UNIX風OSのFuzixがあります。FuzixはRP2050搭載のRaspberry pi picoに移植されており、最近、RP2350搭載のRaspberry pi pico2でも動作します。
 これまでに、Pico2でのFuzixの動作環境構築を報告しました。

https://zenn.dev/kazueda/articles/ba41bc8f15cfda

https://zenn.dev/kazueda/articles/b959e61dfe4c25

本稿では、自作のコマンドを追加する方法を紹介します。

Fuzixにコマンドを追加

Raspberry pi picoのFuzixコマンドを追加する例は、すでに紹介されています。

https://www.facebook.com/groups/763271073812914/search?q=fuzix

チャットでのやり取りの中での情報を参考に、コマンドの追記方法をまとめました。 追加するコマンドのソースファイルの情報をFuzixのソースファイルに追加して、「fuzix.uf2」と「filesystem.uf2」を作成します。
 この例では、Fuzixのソースファイルとしてwiznetmakerのバージョン0.4を使用します。また、追加するコマンドは「Hellow world」を表示する「helloworld」の追加例です。修正するファイルは4か所です。
 1か所目。「Applications/util/fuzix-util.pkg」内の「package util」の部分のアルファベット順に

f 0755 /bin/helloworld   helloworld

を追記します。
 2か所目。Applications/util/Makefile.common」内のアルファベット順のところに

helloworld.c \

を追加します。
 3か所目。「Applications/util/Makefile.generic」内のアルファベット順のところに

mandelbrot.c \

を追加します。
 4か所目。「Kernel/platform/platform-rpipico/update-flash.sh」のアルファベット順のところに

bget ../../Applications/util/heloworld

chmod 0755 helloworld

を追加します。
 追加が終了したら、ビルドして、「fuzix.uf2」と「filesystem.uf2」を作成し、Raspberry pi picoに書き込みます。
 「helloworld」を実行した結果を以下に示します。

おわりに

計画では、ベンチマークプログラムをインストールして、CPUの違いを比較しようとしていましたが、コマンドの追加方法を確立するところで、時間切れとなりました。レトロマシンでおなじみのASCII ARTのMandelbrotの描画速度の測定を行おうと思いましたが、MCUの性能が良いので、シリアル通信の速度が律速段階となる結果でした。

移植しやすいUNIX用ベンチマークプログラムが入手出来たら、結果を改めて、報告いたします。

Discussion