SlaveFIFOの利用を始める。
ベースはBulkloopサンプルであり、TD_Init、TD_Poll、デバイスディスクリプタを編集することになる。
http://www.cypress.com/file/386321/download
のp11から。
ここが項目ごとにまとまっている。
EZ−USB FX2LPの概要 (その2)
ここのp32からレジスタの概要が載っている
http://www.cypress.com/file/113936/download
詳細は
http://www.cypress.com/file/126446/download
のp211からである。
エンドポイントは以下の12パターン
の中から選ぶが、上記PDFのサンプルコードによると、
EP2をOUTの512byte 4重バッファ。
EP6をINの512byte 4重バッファに設定しているので
Device Descriptorもその設定に合わせる。
画像中の設定5に対応する。
Interface Descriptorなどはほとんど変更しなくても良さそうなので
Endpoint Descriptorなどを変更していく。
;; Endpoint Descriptor .db DSCR_ENDPNT_LEN ;; Descriptor length .db DSCR_ENDPNT ;; Descriptor type .db 0x04 ;; Endpoint number, and direction .db ET_BULK ;; Endpoint type .db 0x00 ;; Maximun packet size (LSB) .db 0x02 ;; Max packect size (MSB) .db 0x00 ;; Polling interval
Endpoint Descriptorの上から3つ目のエンドポイント方向と番号は以下のようになっている。
DIRは1が入力、0が出力。
EP2ならOUTなので0x02
EP6ならINなので0x86となる
EP4,8は使わないから書かなくてもよいかと思われたが、それではプログラムを書き込んだ際に認識しなかった。
最大パケットサイズは0x0200(512byte)の上位8bitを示している。
USBを差し込んだときにPC側がもらうデバイスディスクリプタをWDKのツールによって確認することができる。
WDKはWindowsのデバイスドライバを開発するときに必要になるが、
Visual Studio 2015をインストールすれば自動でインストールされた気がする。
デフォルトでは
C:\Program Files (x86)\Windows Kits\10\Tools\x64\usbview.exe
にそのツールがある。
- 作者: 安部惠一
- 出版社/メーカー: 電波新聞社
- 発売日: 2008/06
- メディア: 単行本
- 購入: 1人 クリック: 17回
- この商品を含むブログ (2件) を見る