picox
0.1
|
ROM上に作成するファイルシステムモジュールです [詳解]
![]() |
データ構造 | |
struct | XRomFs |
マクロ定義 | |
#define | X_ROMFS_TAG (X_MAKE_TAG('X', 'R', 'O', 'F')) |
関数 | |
XError | xromfs_chdir (XRomFs *fs, const char *path) |
XError | xromfs_close (XFile *fp) |
XError | xromfs_closedir (XDir *dir) |
void | xromfs_deinit (XRomFs *fs) |
ファイルシステムの終了処理を行います [詳解] | |
XError | xromfs_getcwd (XRomFs *fs, char *buf, size_t size) |
XError | xromfs_init (XRomFs *fs, const void *romimage) |
ファイルシステムを初期化します [詳解] | |
XStream * | xromfs_init_stream (XStream *stream, XFile *fp) |
void | xromfs_init_vfs (XRomFs *fs, XVirtualFs *vfs) |
仮想ファイルシステムを初期化します [詳解] | |
XError | xromfs_open (XRomFs *fs, const char *path, XOpenMode mode, XFile **o_fp) |
XError | xromfs_opendir (XRomFs *fs, const char *path, XDir **o_dir) |
XError | xromfs_read (XFile *fp, void *dst, size_t size, size_t *nread) |
XError | xromfs_readdir (XDir *dir, XDirEnt *dirent, XDirEnt **result) |
XError | xromfs_seek (XFile *fp, XOffset pos, XSeekMode whence) |
XError | xromfs_stat (XRomFs *fs, const char *path, XStat *statbuf) |
XError | xromfs_tell (XFile *fp, XSize *pos) |
ROM上に作成するファイルシステムモジュールです
予め作成したROMファイルシステムイメージを、なんらかの方法でROM領域に埋め込ん で(コンパイラの拡張機能かpicoxが提供するxbin2c.pyを使用して配列に変換する)使 用することを想定したリードオンリーのファイルシステムです。
通常のファイルシステムは、ブロックアクセスが必要な外部記憶装置の特性に合わし た構造をしていますが、このファイルシステムはランダムアクセス可能かつリードオ ンリーであることを前提にしているため、使用領域に無駄がありません。
最近のMPUはRAMサイズに比べてROMはわりと潤沢にあるので、画像データや初期設定 ファイル等のリソースを埋め込んで使用することを想定しています。
1ファイルずつを個別に埋め込んだ場合に比べて、多少のオーバーヘッドはあります が、ファイルシステムのインターフェースを通してアクセスできるようになることと 、リソースデータだけを差し替えることが比較的容易になることが利点です。
void xromfs_deinit | ( | XRomFs * | fs | ) |
ファイルシステムの終了処理を行います
ファイルシステムを初期化します
romimage | ROMファイルシステムのディスクイメージが格納された領域 |
void xromfs_init_vfs | ( | XRomFs * | fs, |
XVirtualFs * | vfs | ||
) |
仮想ファイルシステムを初期化します