榎本歩
平成12年9月23日
最近の小型ノートPCなどをクロス開発用に使用する場合問題になるのは、 それらが従来のシリアル/パラレルポートなど扱いが容易な (特にターゲット側にとって)インターフェースを持たなくなってきている ことです。 新しいインターフェースはPlug and Playをうたったものがほとんどで、 それらは接続される機器に一定のプロトコルを要求します。 しかし、ボードコンピュータなどの開発初期段階で欲しいのは、とにかく シンプルなインターフェースです。
といっても、新しいインターフェースはやはり便利であり、(例えばUSBで あればハブによる拡張、電源供給など)その利点は生かしたいものです。 幸い、USB⇔シリアル/パラレルポートのアダプタは各種市販されています ので、これらをlinuxから使えないか、検討してみました。
今回は、とりあえずシリアルポートに的を絞っています。 kernel-2.4.0-testXのUSBサポートには、いくつかのUSBシリアルアダプタの ドライバが含まれています。やはりこれらは海外製品が主であり、 国内で一般的(と思われる)IO-DATA製などはありません。
ただ、このなかで Keyspan PDA adapterについては、国内でも市販されています (ビックカメラで確認)。そこでこれを利用しようと思ったのですが、 実用的に使用できるのは2.4.0-test5かtest6あたりかららしく、 2.2バックポートがベースにしているtest2のものとはだいぶコードが 違っているようです。
次に、以前に購入していた、プラネックスコミュニケーションズ製USB学習キット の利用を検討しました。 これは、AMDのUSBインターフェース内蔵CPU、Am186CUを使用したターゲット デバイスと、Windows用のデバイスドライバ、ユーザアプリケーションから 利用するためのライブラリをセットにしたものです。
ターゲット側の開発環境として、次のものが用意されています。
ユーザアプリケーションは、添付のDLLを呼び出せる言語(VC++、Delphi、VBなど) であれば作成できるようになっています。
CPUのAm186はシリアルポートを内蔵しており、ドライバICを追加すれば 十分シリアルアダプタとして利用できます。linuxのUSBサポートの調査を 兼ねて、この方法でシリアルアダプタを作成してみることにしました。
まず必要な作業は、このキットをlinuxから利用できるようにすることです。 具体的には、以下の手法をとりました。
ここで、libusbは、デバイスドライバのUSBDEVFSインターフェースを利用して、 ユーザコードからUSBデバイスを直接制御するライブラリです。
以上の作業により、ターゲット側で任意のコードを実行し、ホストとUSBによる 通信を行うことが可能になりました。
実際にシリアルアダプタとして利用するには、さらに以下の作業が必要です。
この文書はLaTeX2HTML 翻訳プログラム Version 99.1 release (March 30, 1999)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds,
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
を日本語化したもの( 99.1 release + JA patch 3.0 (September 15, 1999) 版)
Copyright © 1998, 1999, Kenshi Muto, Debian Project.
を用いて生成されました。
コマンド行は以下の通りでした。:
latex2html -split 0 -no_auto_link -html_version 4.0 rep-200009.tex.
翻訳は Ayumu ENOMOTO によって 平成13年4月18日 に実行されました。