歩き遍路 平成19年春(J1) 記録の準備
USBホスト(1)
 WinUsb(インターフェース2010 2月号)を試す

 インターフェース2010年2月号に掲載のWinUsbを試しました。
 WinUsbはマイクロソフト社が提供する汎用USBデバイスドライバで、独自USBターゲットを作った場合に必須のデバイスドライバをカーネルモードを使わずにユーザーモードでアプリケーション感覚で作ることが出来ます。
 

●試したWinUsbのハードとソフト

 試しに使ったハードウエアはインターフェース2009年 5月号付属のARMマイコンにLEDとスイッチを追加しました。
 ARMマイコンに実装したUSBターゲット機能は、インターフェース2009年 6月号の4章に記載されています。ここにはUSBターゲット機能のソースプログラムは有るのですがHEXファイルは無いのでインターフェース2009年 4月号を参考にしてIAR社からARMマイコンの開発環境をダウンロードしてコンパイルしました。
 IAR社からのARMマイコン開発環境のダウンロードは、光回線を使っても時間がかかりました。
 又、アプリケーションプログラムである「winusbtest」をコンパイルすると、「include ファイルを開けません」とfatal error が出ます。これは、winusb.h が実装されてないからです。「winusb.h」は、MSDNからダウンロードしなければなりません。 

 詳細は次の写真のインターフェース2010年 2月号の5章と上記のインターフェース誌を参考にして下さい。
 下の写真は、USBターゲット機能を実装したARMマイコンの拡大です。
 USBケーブルが2本接続しています、上は通信用、下はROM書込用ですが電源供給用にも使っています。









●試したWinUsbの概要

 WinUsbは、マイクロソフト社が提供する汎用USBデバイスドライバのAPIで、カーネルモードとユーザーモードのプログラムで構成されています。
 アプリケーションプログラムからは、USBターゲットの繋ぎ方を記述した「INFファイル」を用意することと「Winusb.dll」と通信するプログラムを作成する。 「Winusb.dll」と通信するには、「Winusb.h」を使ってプログラムを作成する。

 



●試しのWinUsbの動作

 VisualC++で作成されたアプリケーションプログラムの動作状況を示します。
 「LED」は、チェックをして「SetLED」ボタンを押すと、USBターゲットのLEDが点灯します。
 USBターゲットのスイッチをONにすると「DipSw」が自動的にチェックが入ります。
 USBターゲットの押しボタンスイッチをONにすると「Button」が自動的にチェックが入ります。






 マイクロソフト社が提供するUSB Viewでパソコンに接続しているUSBの状況を調べました。反転しているところが試しのWinUsbの内容です。







ホームへ戻る