一 |
Title |
Function |
Function Name |
No |
stm | :ストリームハンドル |
buffer | :転送領域 |
nunit | :転送領域のサイズ(転送ユニット単位) |
unitsize | :転送ユニットサイズ |
定数名 | 転送ユニットサイズ |
---|---|
STM_UNIT_FORM1 | Mode1,Mode2 Form1セクタ長(2048バイト) |
STM_UNIT_FORM2 | Mode2,Form2セクタ長(2324バイト) |
STM_UNIT_WORD | ワード単位(2バイト) |
STM_UNIT_BYTE | バイト単位(1バイト) |
デフォルトの転送モードは、CPUです。
転送関数が設定されている場合、転送関数を優先します。
ソフトウェア転送、CPUのDMA転送の場合、転送領域はロングワード境界に配置してください。
一 |
Title |
Function |
Function Name |
No |
stm | :ストリームハンドル |
func | :転送関数(取り消す場合、STM_TR_NULLFUNC) |
obj | :登録オブジェクト |
登録関数は、以下の形式です。
Sint32 (*StmTrFunc)(void *obj, StmHn stm, Sint32 nsct)
obj | :登録オブジェクト |
stm | :ストリームハンドル |
nsct | :転送可能セクタ数 |
登録オブジェクトが登録関数の第1引き数に渡されます。
転送関数は、最大nsctセクタのデータを転送することができます。
関数値には、実際に転送したセクタ数を返します。
DMAなどにより転送関数終了時点で転送中の場合は、(-1)を返す必要があります。
一 |
Title |
Function |
Function Name |
No |
ファイルの種類 | 転送元アドレスの変化分の値 |
---|---|
CD-ROMファイル | 0 |
メモリファイル、SCSIファイル | 1 |
volatile Uint32 *src; src = STM_StartTrans(stm, &dadr); for (i = 0; i < n; i++) { *dst = *src; src += dadr; dst++;
一 |
Title |
Function |
Function Name |
No |
stm | :ストリームハンドル |
gate | :転送ゲート状態 |
定数名 | 転送ゲート状態 |
---|---|
STM_GATE_OPEN | 開いた状態 |
STM_GATE_CLOSE | 閉じた状態 |
一 |
Title |
Function |
Function Name |
No |
stm | :ストリームハンドル |
tsct | :最大転送セクタ数(読み込みセクタ数全ての場合、STM_TR_ALL) |
CDバッファ区画に読み込んだデータを、このセクタ数以下に分割して転送します。
デフォルトは、1セクタです。
一 |
Title |
Function |
Function Name |
No |
stm | :ストリームハンドル |
fad | :転送開始FAD |
一 |
Title |
Function |
Function Name |
No |
stm | :ストリームハンドル |
tmode | :転送モード |
定数名 | 転送方法 | CPUに対する負荷 |
---|---|---|
STM_TR_SCU | SCUのDMA | 転送先がBバス上なら、CPUは完全に独立動作 |
STM_TR_SDMA0 | CPUのDMAチャネル0 | CPUの処理能力が落ちる |
STM_TR_SDMA1 | CPUのDMAチャネル1 | CPUの処理能力が落ちる |
STM_TR_CPU | ソフトウエア | CPUは占有されるが、割り込み処理は可能 |
一 |
Title |
Function |
Function Name |
No |