RP2350とRP2040のベンチマークをとろうとして、Fuzixのディスクにコマンドを追加するのに苦労した話
はじめに
8ビットCPUやマイクロコントローラで動作するOSに、UNIX風OSのFuzixがあります。FuzixはRP2050搭載のRaspberry pi picoに移植されており、最近、RP2350搭載のRaspberry pi pico2でも動作します。
これまでに、Pico2でのFuzixの動作環境構築を報告しました。
本稿では、自作のコマンドを追加する方法を紹介します。
Fuzixにコマンドを追加
Raspberry pi picoの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