Fri 07/25, 2008

トラ技付録 78K0 マイコン (3) [Computer and Networking , Electronics ]

前回、NetBSD システムから libUSB (Device::USB)を使ってトラ技 78K0 USB 基板にアクセスしてみたが、今回は同じく NetBSD で USB-Serial デバイスドライバの作成にトライしてみた。そうは言ってもスクラッチから書き起こす技量はないから、以前試した Silicon Labs CP2102 のコードをベースにしている。出来上がったのがこれ [trcom.c]。その他は前回と同様(src/sys/dev/usb/files.usb, usbdevs_data.h。それに kernel 設定ファイル)。実にいい加減だが、ボードを挿すとこのように認識され、minicom からも操作できる。

trcom0 at uhub0 port 1
trcom0: NEC 78K0-TRAGI, rev 1.10/0.01, addr 2
ucom 0 at trcom0 portno 0

minicom使用機は IBM i1124 で NetBSD/i386 4.99.31 カーネルに組み込んでみた。"78K0-TRAGI" というのはデバイス ID = 0xfffd に対応する識別名で、usbdevs_data.h 中で宣言したものである。 78K0 トラ技 BIOS のドライバ部分のコードは公開されていないため、例によって NEC のサンプルコードを参考にしている。デバイスの open/close 以外はダミーだからドライバのコードはとても短い。まだ試していないが、デバイス ID を追加すれば使えると思う。minicom から端末ボーレートなどのパラメータを操作しても関係しない。115200bps でも 9600bps でも同じように動作する。libUSB でアレだからと適当にちょろっと試してみたら動いたというレベルで、きちんと理解して書いているとはとても言えないから、ツッコミよろしく。gcc が 78K0 に対応していないのが残念。

Linux 用ドライバはこちら

Posted by masato at 07:29 AM
このエントリーのトラックバックURL: http://bird.dip.jp/cgi-bin/mt/mt-tb.cgi/1608
コメントする

おそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。










名前、アドレスを登録しますか?