SPI Demos

# ARM7プロセッサ周辺装置 サンプルデモ

## 場所

`$TwlSDK/build/demos/spi
$TwlSDK/build/demos.TWL/spi`

## コンパイル方法

`$TwlSDK/build/demos/spi` (または`$TwlSDK/build/demos.TWL/spi`) ディレクトリに移り、

> `% make`

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

> `$TwlSDK/build/demos/spi/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/`
> `$TwlSDK/build/demos.TWL/spi/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/`

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

> `$TwlSDK/build/demos/spi/tp-1/bin/ARM9-TS/Release/main.srl`

が `tp-1` デモの実行ファイルとなります。

## 実行方法

### NITRO ROM の場合

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

- ensata で `*.nef`, `*.srl` を実行する。

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL/NITRO HYBRID ROM の場合

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL LIMITED ROM の場合

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

## 説明

デモ名 | ディレクトリ | 動作
--- | --- | ---
`tp-1` | `demos` | タッチパネルの入力位置を画面表示します。
`tp-2` | `demos` | タッチパネルの入力位置の軌跡を画面表示します。
`mic-1` | `demos` | マイクによる音声入力状態を画面に波形表示します。
`mic-2` | `demos` | マイクによる音声入力状態を画面に波形表示し、テキストデータを出力します。 得られたデータは mic2wav.exe ツールにより wav ファイルに変換することができます。
`mic-3` | `demos.TWL` | TWL 特有のマイクの自動サンプリング方式による音声入力状態を画面に波形表示します。
`mic-4` | `demos.TWL` | TWL 特有のマイクの自動サンプリング方式による音声入力状態を画面に波形表示し、テキストデータを出力します。 得られたデータは mic2wav.exe ツールにより wav ファイルに変換することができます。
`spiMonkey` | `demos` | BGM を鳴らしながら、タッチパネル及びマイクの入力状態を画面表示します。
`spiMonkey2` | `demos` | BGM を鳴らしながら、タッチパネル及びマイクの入力状態を画面表示します。 `spiMokey` との違いは、マイクのサンプリングに自動サンプリングを用いている点です。
`spiMonkey3` | `demos.TWL` | BGM を鳴らしながら、タッチパネル及びマイクの入力状態を画面表示します。 `spiMokey2` との違いは、マイクのサンプリングにTWL特有の自動サンプリング方式を用いている点です。
`pm-1` | `demos` | ボタン操作やふたを閉じることでスリープしたりパワーセーブモードに入ります。
`pm-2` | `demos.TWL` | 電源ボタンが押され、実際に終了するまでにユーザの処理で待たせます。
`pmAmpGain` | `demos` | マイクによる音声入力の増幅率を操作します。 音声入力をサンプリングした結果は、`mic-1` と同様に画面に波形表示します。
`pmAmpGainLevel` | `demos.TWL` | マイクによる音声入力の増幅率を操作します。 `pmAmpGain` との違いは、TWL特有の機能により、より細かい解像度で増幅率を操作できることです。

## 動作

`mic-1, mic-2, spiMonkey, spiMonkey2, pm-1 は ensata では正常動作をしません。
mic-1, mic-2 は NITRO ROM でしか正常動作しません。
tp-1, tp-2, spiMonkey, spiMonkey2 は本体内部の不揮発メモリ(NVRAM)からタッチパネル校正設定値を読み出そうと試みます。 正常に読み出せない場合は異常終了しますので、本体に内蔵されているDS起動メニューを用いてキャリブレーション結果を NVRAM へ保存してください。`

## 参照

`SPI関数一覧`

## 履歴

2008/11/13 pm-2 に関する記述を追加
2008/07/15 mic-3, mic-4, spiMonkey3, pmAmpGain, pmAmpGainLevel に関する記述を追加
2008/07/11 TWLに対応した記述に変更
2008/04/25 表を一新。TWL用の一覧に変更。
2005/05/10 spiMonkey2 に関する記述を追加
2005/03/02 記述内容を現在のサポート環境の状況に合うよう修正
2004/08/17 IS-NITRO-EMULATORについての表記を統一
2004/08/03 pm-1 追加
2004/07/10 .bin から .srl へ変更。
2004/06/18 初版