Categories: ニュース

小さなマイコンでもファイルを名前で管理できる超軽量「UTFS」が公開

小型マイコン向けの超軽量ファイルシステム「UTFS(μTFS)」を、CLI Systemsがオープンソースで公開した。ファイル1つあたりのヘッダーは固定の24バイトで、ヒープ領域を一切使わない。MITライセンスだ。

マイコンのプロジェクトでは、設定値やログをEEPROMの固定アドレスに1つの構造体として書き込むことが多い。データの構造が変わると古いデータが読めなくなるが、手軽なのでよく使われる。一方、LittleFSやSPIFFSのようなファイルシステムはデータを名前で管理できるが、メモリーの消費が大きく、リソースの限られたマイコンには重い。

UTFSはこの中間を埋める。TAR形式に着想を得た構造で、データを名前付きのブロック(ファイル)として順番に並べて格納する。ハードウェアとの接続にはsys_readとsys_writeの2つの関数を移植するだけでよい。生のEEPROM、CPUの内蔵フラッシュ、SPI接続やI2C接続の外付けフラッシュなど、バイト単位でアクセスできる記憶媒体に対応する。

ウェアレベリングやアトミック書き込みのような高度な機能は持たない。書き込み中に電源が落ちればデータは壊れる可能性があり、通常のEEPROM書き込みと同じリスクがある。代わりに、アプリケーション定義のシグネチャ(たとえば0xABCD)で初期化時に破損を検知できる。

Arduino Uno(ATmega328の内蔵EEPROM)とMicrochip SAMD20(内蔵フラッシュ)の動作例がGitHubで公開されている。

関連情報

Arduino (アルドゥイーノ)
¥5,092 (2026/07/11 19:47時点 | Amazon調べ)
FabScene編集部

FabScene編集部