.\" t .\" Copyright (c) 2000 lars brinkhoff .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\" Modified, Thu Jan 27 19:16:19 CET 2000, lars@nocrew.org .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2000 Yuichi SATO .\" all rights reserved. .\" Translated Tue Jul 11 20:05:48 JST 2000 .\" by Yuichi SATO .\" .TH DSP56K 4 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 dsp56k \- DSP56001 のインターフェースデバイス .SH 書式 .nf #include .sp \fBssize_t read(int \fP\fIfd\fP\fB, void *\fP\fIdata\fP\fB, size_t \fP\fIlength\fP\fB);\fP \fBssize_t write(int \fP\fIfd\fP\fB, void *\fP\fIdata\fP\fB, size_t \fP\fIlength\fP\fB);\fP \fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_UPLOAD, struct dsp56k_upload *\fP\fIprogram\fP\fB);\fP \fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_SET_TX_WSIZE, int \fP\fIwsize\fP\fB);\fP \fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_SET_RX_WSIZE, int \fP\fIwsize\fP\fB);\fP \fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_HOST_FLAGS, struct dsp56k_host_flags *\fP\fIflags\fP\fB);\fP \fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_HOST_CMD, int \fP\fIcmd\fP\fB);\fP .fi .SH 設定 dsp56k デバイスは、メジャー番号 55、マイナー番号 0 の キャラクターデバイスである。 .SH 説明 Motorola DSP56001 は、Atari Falcon030 互換のコンピュータで使われている フルプログラマブルな 24 ビットのデジタルシグナルプロセッサーである。 スペシャルファイル \fIdsp56k\fP は、DSP56001 の制御と 双方向ハンドシェイクホストポートでのデータの送受信のために使われる。 .PP データストリームをシグナルプロセッサーに送信するためには、 デバイスに対して \fBwrite\fP(2) を使うこと。 処理されたデータを受信するためには、 \fBread\fP(2) を使うこと。 ホスト側では、データは 8, 16, 24, 32 ビット単位で送受信できるが、 DSP56001 内では、24 ビット単位で扱われる。 .PP 次の \fBioctl\fP(2) コールが \fIdsp56k\fP デバイスを制御するために使われる。 .IP \fBDSP56K_UPLOAD\fP DSP56001 をリセットし、プログラムをアップロードする。 \fBioctl\fP(2) の 3 番目の引き数は、 構造体 \fIstruct dsp56k_binary\fP へのポインターでなければならない。 構造体のメンバー \fIbin\fP は DSP56001 バイナリプログラムを指し、 構造体のメンバー \fIlen\fP は 24 ビットワードで数えた プログラムの長さに設定されていなければならない。 .IP \fBDSP56K_SET_TX_WSIZE\fP 送信ワードサイズを設定する。 設定できる値は 1 〜 4 の範囲で、このバイト数分だけ 1 度に DSP56001 に送信する。 このデータ単位は、DSP56001 本来の 24 ビットデータ形式に合わせるため、 ゼロのバイトで埋められたり、切り詰められたりする。 .IP \fBDSP56K_SET_RX_WSIZE\fP 受信ワードサイズを設定する。 設定できる値は 1 〜 4 の範囲で、 このバイト数分だけ 1 度に DSP56001 から受信する。 このデータ単位は、DSP56001 本来の 24 ビットデータ形式に合わせるため、 切り詰められたり、ヌルバイト (\(aq\e0\(aq) で埋められたりする。 .IP \fBDSP56K_HOST_FLAGS\fP ホストフラグを読み書きする。 ホストフラグは、一般的な目的で使うことのできるビットで、 ホストコンピュータと DSP56001 の両方から読むことができる。 ビット 0 と 1 は、ホストによって書き込むことができ、 ビット 2 と 3 は、DSP56001 によって書き込むことができる。 ホストフラグにアクセスするためには、 \fBioctl\fP(2) の 3 番目の引き数が 構造体 \fIstruct dsp56k_host_flags\fP へのポインターでなければならない。 この構造体のメンバー \fIdir\fP のビット 0 または 1 が設定されると、 メンバー \fIout\fP の対応するビットの値がホストフラグに書き込まれる。 すべてのホストフラグの状態は、構造体のメンバー \fIstatus\fP の 下から 4 ビットとして返される。 .IP \fBDSP56K_HOST_CMD\fP ホストコマンドを送信する。 送信できる値は 0 〜 31 の範囲で、DSP56001 で動作しているプログラムによって 処理されるユーザー定義コマンドである。 .SH ファイル .\" .SH AUTHORS .\" Fredrik Noring , lars brinkhoff , .\" Tomas Berndtsson . /dev/dsp56k .SH 関連項目 \fIlinux/include/asm\-m68k/dsp56k.h\fP, \fIlinux/drivers/char/dsp56k.c\fP, .UR http://dsp56k.nocrew.org/ .UE , DSP56000/DSP56001 Digital Signal Processor User's Manual .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。