ROM ファイルシステム(FS)サンプルデモ

場所

$TwlSDK/build/demos/fs

コンパイル方法

$TwlSDK/build/demos/fsディレクトリに移り、

% make

と入力します。コンパイルが始まり、実行ファイルである .srl ファイルやバイナリ情報を記述した .nef または .tef ファイルが、

$TwlSDK/build/demos/fs/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/

の下に生成されます。例えば、

$TwlSDK/build/demos/fs/overlay/bin/ARM9-TS/Release/main.srl

overlay デモの実行ファイルとなります。

FS は他の多くのデモと異なり、makerom の使用が必須となっていますので、elftobin を使ったビルド(make TWL_ELFTOBIN=TRUE)はできません。

実行方法

NITRO ROM の場合

Ensata エミュレータを用いる場合

IS-NITRO-DEBUGGER を用いる場合

IS-TWL-DEBUGGER を用いる場合

TWL/NITRO HYBRID ROM の場合

IS-NITRO-DEBUGGER を用いる場合

IS-TWL-DEBUGGER を用いる場合

TWL LIMITED ROM の場合

IS-TWL-DEBUGGER を用いる場合

説明

デモ名 ディレクトリ 動作
file-1 demos FS を利用するために必要なプログラム構成の、ごく簡単な雛形です。
file-2 demos ディレクトリとファイルを組み込み、プログラム内で読み出します。
file-3 demos FS_CreateFileFromMemory()FS_CreateFileFromRom() の動作をテストします。
async demos 各スレッド内で同期リードを繰り返すサンプルです。
実行されている環境が非同期動作に対応している場合は、
ブロッキング時にスリープしてスレッドが切り替わります。
そうでない場合は、常に単一のスレッドが同期リードを繰り返します。
詳細はFS_ReadFileAsync() の解説を参照ください。
overlay demos オーバーレイの簡単なサンプルです。
overlay-compressed demos ビルドスイッチ TWL_COMPRESS を指定して圧縮オーバーレイの動作をテストします。
プログラム自体は overlay サンプルデモと同様です。
overlay-staticinit demos sinit.h ヘッダと NitroStaticInit() を定義し、C言語で書かれたオーバーレイから static initializer を使用するサンプルです。
arc-1 demos 以下の2つのアーカイブを独自にロードするサンプルです。

・デフォルトのROMアーカイブと同様の動作をするアーカイブ
・ファイルとして格納されたプログラムバイナリ内部のファイルシステムへアクセスするアーカイブ

arc-2 demos TwlROMフォーマットに準拠していない独自のディレクトリ構造を
アーカイブとしてロードするサンプルです。
このサンプルでは arc-1 サンプルと異なり、基本的なアクセスコマンドのいくつかを
ユーザプロシージャによってデフォルト処理から置き換える例を示します。
explorer demos ファイルシステムのディレクトリ構造を表示するサンプルです。

動作

すべての動作環境で正常に動作します。

参照

FS関数一覧

履歴

2008/07/11 TWLに対応した記述に変更
2008/05/22 explorer サンプルの説明を追加
2005/06/28 file-3 サンプルの説明を追加
2005/05/10 overlay-compressed サンプルの説明を追加
2005/03/02 記述内容を現在のサポート環境の状況に合うよう修正
2005/01/19 overlay-staticinit サンプルの説明を追加
2004/10/06 一部サンプルの説明抜けを修正・追加
2004/08/17 IS-NITRO-EMULATORについての表記を統一
2004/07/10 .bin から .srl へ変更。
2004/06/18 実行方法 の記述を修正
2004/05/20 初版