[TOP PAGE]
EZ−USB
実験に使用したUSB-RSAの予備をお譲りします。こちらへ
USB−RSA(AN2131QC I・O DATA)
1. ez-hgr3(sony hgr1,3のエミュレータ) 2. 簡易モニタ
※メモリダンプとメモリチェンジ位の機能です。3. USBCOM (デバッグ中)
※PC側ドライバはCQ出版社の「USBハード&ソフト開発のすべて」を利用
●簡易モニタ
SDCCのトレーニングを兼ねたモニタープログラム(USBはコントロールしていません)です。
※対象はI・O DATAのUSB−RSA(AN2131QC)、USA−19でシリアルポートで入出力(4800bps)
メモリーダンプとメモリーチェンジ位しか出来ませんがサンプルとして(^^;
モニター(USB−RSAのサンプルプログラム) RS−232CからUSB−RSA内のメモリのダンプとチェンジ機能。
ファイル名 説明 main.c メイン main.h メインのヘッダー uart.c UARTコントロール uart.h UARTコントロールのヘッダー monitor.c モニターコマンド処理部 monitor.h モニターコマンド処理部ヘッダー 2131.h USBレジスタ定義 16550.h 16C550レジスタ定義 types.h 型定義 def.h 定数定義 ダウンロードはこちらから 注)SDCC用ソースです USB−RSA用 メークファイル makefile_rsa.lzh ソースファイル ez_monitor_src.lzh HEXファイル ez_monitor_hex.lzh USBテスト(ソース、メーク、hex)
USBコントロールを追加版
IVEC番号とデバイスリクエストを表示ez_mon2_rsa USA-19用 メークファイル makefile_usa.lzh ソースファイル ez_mon_usa_src.lzh HEXファイル ez_mon_usa_hex.lzh
※SDCC(8051用コンパイラ)のインストール、注意点などはSakura's Home Page!!
のEZ−USBを使うを参考にさせて頂きました。
※EZ-USB Control Panelは下記サイトからVersion 1.9 (Large Zip File)*をダウンロードし
自己解凍
http://www.cypress.com/design/progprods/usb/devtools/an2131-dk001.html
EZ-USB Control Panelで使用する為にはc:\windows(winnt)フォルダ\inf\ezusbw2k.infに
USB-RSAの場合
%USB\VID_0547&PID_2131.DeviceDesc%=EZUSB.Dev, USB\VID_04BB&PID_0A01
正規のシリアルドライバーが入っているとPID_0A03となるので注意
USA-19の場合
%USB\VID_0547&PID_2131.DeviceDesc%=EZUSB.Dev, USB\VID_06CD&PID_0103
正規のシリアルドライバーが入っているとPID_0107となるので注意
を追加(最低限の追加)
hexファイルをEZ-USB Control Panelで転送すると動作確認できます。
● ローダーの作成時の注意(Windows2000の場合) ローダーのサンプルはEZ-USB Control Panelを標準インストールした場合
C:\Cypress\USB\Drivers\ezloader
にあります。
VC++6.0とw2kddk使用
firmware.cの作成
作成された.hexファイルをC:\Cypress\USB\Bin\hex2c.exeを使いcのコードに変換しfirmware.cを作成し、firmware.cを入れ替えます。
※単純に変換すると以下のinclude文が付かないのでファイルの先頭に追加する必要あり
※追加部分をヘッダーファイルを作成しバッチで追加
headr.inc.h
#include <wdm.h>
#include "usbdi.h"
#include "usbdlib.h"
#include "ezloader.h"
cnv.bat
hex2c main.hex firmware.c
copy /b /y header.inc+firmware.c ezloader\firmware.c
注1) hexファイルの一行が16バイト以上の場合hex2c.exeを変更する必要あり
C:\Cypress\USB\Util\Hex2cの中の
#define MAX_INTEL_HEX_RECORD_LENGTH 16
を
#define MAX_INTEL_HEX_RECORD_LENGTH 32
C:\Cypress\USB\Drivers\ezloader\ezloader.hの
#define MAX_INTEL_HEX_RECORD_LENGTH 16
を
#define MAX_INTEL_HEX_RECORD_LENGTH 32
VC++6.0のプロジェクトでドライバをコンパイルする場合
環境変数を登録
コントロールパネル、システム、詳細、環境変数、新規で
BASEDIR=c:\ntddk
CPU=i386
を追加
プロジェクトの構成をWin32 Freeに設定
プロジェクト、設定、カテゴリプリプロセッサ、インクルードファイルのパス
$(BASEDIR)\inc\ddk\wdm
を追加
アクティブな構成の設定で
Win32 free
を選択
後はビルド
.\lib\i386\freeにsysが作成される
MS-DOS プロンプトコンパイルする場合(環境変数を登録しない場合) ディレクトリの行き来を簡単にするためのツールこちらからpushd11.lzhを解凍してc:\toolsにコピーした場合
※Windows2000はpushd,popdコマンドがサポートされていました。2002.03.08
以下のバッチファイルを作成し実行
setbuild.bat
pushd .
call c:\ntddk\bin\setenv.bat c:\ntddk free
popd
mk.bat
build -cfe
.\lib\i386にsysが作成される
●USBCOM
USB−RSAをCQ出版社の「USBハード&ソフト開発のすべて」に掲載されている
USBシリアルポートドライバで利用。
※取り敢えず動作?
注)SDCC用ソースです 4800bps固定 ソースはこちらから
ez_comrsa_src.lzh HEXファイルはこちらからダウンロード ez_comrsa_hex.lzh
参考
●USB−RSA(I・O DATAのUSB−シリアル変換ケーブル) | ||
構成 | ||
AN2131QC | EZ-USB(8051) | |
ST16C550 | UART | |
CY62256 | SRAM | |
ADM3311 | RS-232C レベル変換 | |
16V8 | PALL アドレスデコード用 | |
AT24C01A | シリアルROM |