
マイコンを使ったコンピューター向けに、デスクトップ型の画面を備えるOS「Sylphide OS」の開発が進んでいます。FreeRTOSを基盤に、複数のマイコン基板で動く汎用OSを目指すプロジェクトで、現行版はバージョン0.1です。
マイコンでデスクトップ環境を動かす
Sylphide OSは、マイコンを使って1980〜90年代の家庭用コンピューターに近い環境を構成することを目指しています。開発者のThomas Capricelli氏は、ディスプレイやキーボードなどを接続し、「コンピューター」として使えるマイコン基板を対象にしています。
マイコンは、画面やキーボードなどの周辺機器を備えた従来型コンピューターより小規模な組み込み用途で使われてきました。一方、近年は標準的な画面出力に対応したマイコンも登場し、コンピューターに近い構成を組めるようになっています。
画面にはデスクトップやメニュー、ウィンドウ、デスクトップアイコンがあり、ウィンドウを管理する仕組みも備えています。外観は初期のMacintoshを思わせるデザインです。マイコンの性能を旧式コンピューターのエミュレーションだけに使うのではなく、OS自身を動かす構想です。
FreeRTOSを基盤に独自の画面環境を構成
FreeRTOSは、マイコンや小型マイクロプロセッサー向けのリアルタイムOSカーネルです。カーネルは、複数の処理をタスクとして管理し、優先度などに応じて実行順を調整する基盤ソフトウェアです。
Sylphide OSはFreeRTOSの上に、キーボード、マウス、ディスプレイ、ストレージ、ネットワーク向けのドライバーと、グラフィカルな画面環境を加える構成です。低レベルの描画処理には、フレームバッファーやビットマップ、フォントを扱う機能があります。
コードの大部分はC言語とC++で書かれ、基板によってはドライバーにアセンブリー言語も使います。C++は、限られたメモリーなどの資源を圧迫しないよう、使用する機能を絞っています。
RP2350やESP32-P4などを対象に
対応先には、RP2350を搭載するRaspberry Pi Pico 2、ESP32-P4を使うOlimex ESP32-P4-PC、PS/2入力とVGA出力を備えるFabGLがあります。Linux上で動作するエミュレーターも、開発用に用意されています。
プロジェクトは複数の基板で動くことを当初から想定し、設定ツールや複数のSDK、基板ごとの開発環境を整えています。描画機能は色深度ごとに用意され、画面の大きさや色数、メモリーが限られる基板にも対応する方針です。
現行版は0.1で、まず基盤となる枠組みと、いくつかの対象基板向けドライバーを整える段階です。開発者は、情報パネルでハードウェアやソフトウェアの情報を表示し、色の扱いを確認できる機能も挙げています。今後の移植先も想定されています。
ストレージやネットワークは今後の計画
今後の予定には、microSDやUSBストレージ、イーサネットやWi-Fiなどのネットワーク、ボタンやチェックボックスといった画面部品があります。
ストレージ上の外部プログラムを読み込んで実行する機能も、今後の計画に含まれます。
このプロジェクトは、Linuxを動かせるシングルボードコンピューターと、画面や入力機器を持たない開発ボードの間に位置するマイコン基板を対象にしています。











