名 前
dsp56k − DSP56001 の イ ン タ ー フ ェ ー ス デ バ イ ス
書 式
#include <asm/dsp56k.h>
ssize_t
read(int fd, void *data,
size_t length);
ssize_t write(int fd, void
*data, size_t length);
int
ioctl(int fd, DSP56K_UPLOAD, struct
dsp56k_upload *program);
int ioctl(int fd, DSP56K_SET_TX_WSIZE, int
wsize);
int ioctl(int fd, DSP56K_SET_RX_WSIZE, int
wsize);
int ioctl(int fd, DSP56K_HOST_FLAGS, struct
dsp56k_host_flags *flags);
int ioctl(int fd, DSP56K_HOST_CMD, int
cmd);
設 定
dsp56k デ バ イ ス は 、 メ ジ ャ ー 番 号 55、 マ イ ナ ー 番 号 0 の キ ャ ラ ク タ ー デ バ イ ス で あ る 。
説 明
Motorola
DSP56001 は 、 Atari Falcon030 互 換
の コ ン ピ ュ ー
タ で 使 わ れ て
い る フ ル プ ロ
グ ラ マ ブ ル な 24
ビ ッ ト の デ ジ
タ ル シ グ ナ ル
プ ロ セ ッ サ ー
で あ る 。 ス ペ
シ ャ ル フ ァ イ
ル dsp56k は 、 DSP56001 の
制 御 と 双 方 向
ハ ン ド シ ェ イ
ク ホ ス ト ポ ー
ト で の デ ー タ
の 送 受 信 の た
め に 使 わ れ る
。 デ ー タ ス ト
リ ー ム を シ グ
ナ ル プ ロ セ ッ
サ ー に 送 信 す
る た め に は 、
デ バ イ ス に 対
し て write(2) を 使 う
こ と 。 処 理 さ
れ た デ ー タ を
受 信 す る た め
に は 、 read(2) を 使
う こ と 。 ホ ス
ト 側 で は 、 デ
ー タ は 8, 16, 24, 32 ビ ッ
ト 単 位 で 送 受
信 で き る が 、
DSP56001 内 で は 、 24 ビ
ッ ト 単 位 で 扱
わ れ る 。 次 の
ioctl(2) コ ー ル が
dsp56k デ バ イ ス を
制 御 す る た め
に 使 わ れ る 。
DSP56K_UPLOAD
DSP56001 を リ セ ッ ト し 、 プ ロ グ ラ ム を ア ッ プ ロ ー ド す る 。 ioctl(2) の 3 番 目 の 引 き 数 は 、 構 造 体 struct dsp56k_binary へ の ポ イ ン タ ー で な け れ ば な ら な い 。 構 造 体 の メ ン バ ー bin は DSP56001 バ イ ナ リ プ ロ グ ラ ム を 指 し 、 構 造 体 の メ ン バ ー len は 24 ビ ッ ト ワ ー ド で 数 え た プ ロ グ ラ ム の 長 さ に 設 定 さ れ て い な け れ ば な ら な い 。
DSP56K_SET_TX_WSIZE
送 信 ワ ー ド サ
イ ズ を 設 定 す
る 。 設 定 で き
る 値 は 1 〜 4 の 範
囲 で 、 こ の バ
イ ト 数 分 だ け 1
度 に DSP56001 に 送 信
す る 。 こ の デ
ー タ 単 位 は 、
DSP56001 本 来 の 24 ビ ッ
ト デ ー タ 形 式
に 合 わ せ る た
め 、 ゼ ロ の バ
イ ト で 埋 め ら
れ た り 、 切 り
詰 め ら れ た り
す る 。
DSP56K_SET_RX_WSIZE 受 信 ワ ー
ド サ イ ズ を 設
定 す る 。 設 定
で き る 値 は 1 〜 4
の 範 囲 で 、 こ
の バ イ ト 数 分
だ け 1 度 に DSP56001 か
ら 受 信 す る 。
こ の デ ー タ 単
位 は 、 DSP56001 本 来
の 24 ビ ッ ト デ ー
タ 形 式 に 合 わ
せ る た め 、 切
り 詰 め ら れ た
り 、 ヌ ル バ イ
ト ('\0') で 埋 め ら れ
た り す る 。
DSP56K_HOST_FLAGS ホ ス ト フ
ラ グ を 読 み 書
き す る 。 ホ ス
ト フ ラ グ は 、
一 般 的 な 目 的
で 使 う こ と の
で き る ビ ッ ト
で 、 ホ ス ト コ
ン ピ ュ ー タ と
DSP56001 の 両 方 か ら
読 む こ と が で
き る 。 ビ ッ ト 0
と 1 は 、 ホ ス ト
に よ っ て 書 き
込 む こ と が で
き 、 ビ ッ ト 2 と 3
は 、 DSP56001 に よ っ
て 書 き 込 む こ
と が で き る 。
ホ ス ト フ ラ グ
に ア ク セ ス す
る た め に は 、
ioctl(2) の 3 番 目 の
引 き 数 が 構 造
体 struct dsp56k_host_flags へ の
ポ イ ン タ ー で
な け れ ば な ら
な い 。 こ の 構
造 体 の メ ン バ
ー dir の ビ ッ ト 0
ま た は 1 が 設 定
さ れ る と 、 メ
ン バ ー out の 対
応 す る ビ ッ ト
の 値 が ホ ス ト
フ ラ グ に 書 き
込 ま れ る 。 す
べ て の ホ ス ト
フ ラ グ の 状 態
は 、 構 造 体 の
メ ン バ ー status の
下 か ら 4 ビ ッ ト
と し て 返 さ れ
る 。
DSP56K_HOST_CMD ホ ス ト コ
マ ン ド を 送 信
す る 。 送 信 で
き る 値 は 0 〜 31 の
範 囲 で 、 DSP56001 で
動 作 し て い る
プ ロ グ ラ ム に
よ っ て 処 理 さ
れ る ユ ー ザ ー
定 義 コ マ ン ド
で あ る 。
フ ァ イ ル
/dev/dsp56k
関 連 項 目
linux/include/asm−m68k/dsp56k.h, linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org/">http://dsp56k.nocrew.org/, DSP56000/DSP56001 Digital Signal Processor User’s Manual
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。