2005年02月08日
USBデバイス
以前作成した基板(といってもかなり前のことなので誰も覚えていないと思いますが(^^;)がやっとUSBデバイスとして通信できました。
基板の裏の刻印を見ますと2004年9月となっているので、実に5ヶ月も格闘していたことになります。何にそんなに躓いていたのかというと、USBのチップが死んでいたり、サンプルプログラムに埋め込まれていたベンダIDとプロダクトIDが違っていたり、わかってしまえば何てことない原因なのですがこういうものはそれに気づくまでが大変なわけで。おかげで回路やプログラムをよく観察するのに役立ちました。これでやっとUSBデバイスを作るスタート地点に立ったという感じです。
USBデバイスとテスト用のホストプログラムについては後閑哲也さんのUSB通信
テクニックを、Windowsのドライバは柏野政弘さんの汎用USBドライバを利用させていただきました。
またUSB通信のデバッグにはSnoopyProなるUSBキャプチャーソフトが利用できました。ちょっと前まではUSBのキャプチャーソフトなんて、専用のハードウエアを使う高価な機械だったのに、いまはオープンソースで配布されているんですね。USBの技術情報といい趣味の製作をするものにとっては恵まれた環境になったものです。
さて、早速USBデバイスを操作するプログラムを作ろうと思ったのですが、どうも上記の汎用USBデバイスドライバのdllを利用するにはマイクロソフトのVisualStudio が必要なようです。自分がもっているWindows用のコンパイラはBorland C++ Builder(のかなり古いやつ)なんですが、BorlandのコンパイラでVCで作ったdllを利用できなくはないんだけど煩雑な手順が必要らしく、いろいろやってみたのですがうまくいきません。
他に使えるコンパイラがないかどうか調べていたらVisualStudio 2005の日本語ベータ版がダウンロードできるらしいので、WebからダウンロードできるExpress Edition(ホビーユーザ、学生向け)の方を試してみたのですが、どうやらuusbd.hが要求するwindows.hを含んでいないらしくビルドができません。Windowsアプリケーションを作るためのMFCなどは省かれているようであくまでも学生の演習用ということなのかな?
Visual Studio 2005完全解説という紹介本にもExpressではないベータ版が入っているらしいのでこれを入手するのもテかも。
そんなこんなで、Visual Studio買っちゃおうかなーという気になってきてますが、ライセンスがいろいろあってまだイマイチよくわかっていないのと、もうすぐバージョンアップするみたいだしどうしたものかなぁとちょっと悩んでいます。
2006.2.27追記
本ページの情報は古くなっています。
「Express Edition」「windows.h」で検索して来てくださる方がたくさんいらっしゃるので補足説明。
- 現在Visual Studio 2005 Express Editionは正式版を Mifrosoft のホームページよりダウンロードできるようになっています。(提供開始から1年間の限定とのこと。)
- プレビュー版をインストールしている場合は、事前にアンインストールが必要です
- 親切なことにPlatform SDKを使ってWindowsアプリケーションを作成するための設定方法を解説したページも用意されています。
- これで開発したものに対する配布の制限はないようです。
- by いわた
- at 00:50
comments
Win32 API を使ったプログラムがコンパイルできない件について調べたら幾つか情報がありました。
PlatformSDKなるものをインストールしてパスを通せばいいらしいです。
2ch:【無料】Visual Studio 2005 Express【Beta】
http://pc5.2ch.net/test/read.cgi/tech/1091543344/199-200
VisualStudio2005ExpressBetaでWin32アプリをビルドする方法
http://gamdev.org/w/?%5B%5BVisualStudio2005ExpressBeta%A4%C7Win32%A5%A2%A5%D7%A5%EA%A4%F2%A5%D3%A5%EB%A5%C9%A4%B9%A4%EB%CA%FD%CB%A1%5D%5D
Visual C++ 2005 Express Edition Beta1 について
http://www7.plala.or.jp/hop-step-jump/c_setting09.html
しかしベータ版を利用して作成したプログラムは配布してはいけないらしいので、公開するためには製品版を買う必要があります。
とりあえず製品版が出るまではこれでしのげるかな?
SnoopyProで検索して来てくださる方がいるようなので使い方など。
http://aniki.daionet.gr.jp/~iwata/cgi-bin/note/index.php?PIC%2FUSBTEST#o988923e
っていっても Readme に書いてある以上のことは書いてありませんが。
ところで、たまに解析内容が間違っている気がするんですが(上のキャプチャ画面の3番目ホスト→デバイスの通信が???になってたりとか。)どうしてなんでしょうね。
SnoopyProのページに書いてあるUSBCVについてですが、Win2K(日本語)では駄目で、WinXP(日本語)で動作しました。
情報ありがとうございます。
ばっちり W2K でした(汗
「Express Edition」「windows.h」で検索して来てくださる方がたくさんいらっしゃるようなので、現在の状況について追記。