なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

MacOSXでEZ-USB FX2LP

Posted by arms22 on 2007年01月26日 0  0

オプティマイズ MINI FX2

オプティマイズのMINI FX2を入手した。MINI FX2はEZ-USB FX2LP(Cypress CY7C68013A)を搭載したUSB2.0ハイスピード(480Mbps)に対応したボードだ。EZ-USB(Cypress AN2131SC)を搭載したボードの何倍も早いぜ!

MacOS XでCypress EZ-USBを参考に開発環境を構築。以下、そのメモ。

用意したもの。
・MINI FX2 (オプティマイズ)
・SDCC (Smalle Device C Compiler) 2.6.0
・libusb 0.1.1.12
EZ-USB FX2LP Development Kit
・Ezload (Xcodeのサンプル・コード)


・SDCCのインストール
CypressのDevelopment KitにはKeil(評価版)が付属するが、MacOSXでは使えないのでSDCCをインストールした。MacOSX用のバイナリは↓からダウンロードできる。
http://sourceforge.net/project/showfiles.php?group_id=599

圧縮ファイルを解凍し/Developer/SDCCへコピーする。
shallの実行時パスに/Developer/SDCC/binを追加する。
~/.bash_profileに次の行を追加する。
export PATH=$PATH:/Developer/SDCC/bin


・libusbのインストール
libusbはLinux,FreeBSD,MacOSXに対応した汎用USBライブラリで、ユーザレベルのアプリケーションからUSBデバイスを制御できる。
ソースコードを↓からダウンロード。
http://libusb.sourceforge.net/

% ./configure
% make
% sudo make install


・EZloadのビルド
EzloadはEZ-USB(Cypress AN2131SC)にしか対応していないので、EZ-USB FX2LP(Cypress CY7C68013A)に対応させる。
必要なのはCPUコントロールレジスタのアドレス変更だけで、次の行を置き換えるだけだ。

105: #define k8051_USBCS 0x7F92

105: #define k8051_USBCS 0xE600

あとここで配布されているパッチをあてておく。
このパッチでEzloadの引数(VenderIDとProductID)に16進数を使えるようになる。
できた実行ファイルは/Developer/SDCC/binにコピーしておくと後で便利。


・EZ-USB FX2LP Development Kitの移植
CypressのページからEZ-USB FX2LP Development Kit(SETUP_FX2LP_DVK_1004.exe)をダウンロードする。
Development Kitはexeで配布されているのでインストールにはwindowsが必要だ。
Development KitにはUSBに必要な処理がほとんど記述されたフレームワークとライブラリが含まれている。
しかしこれらのコードはKeil用でSDCC用に移植する必要がある。
fenrir's Blogのこの記事を参考に移植を行った。
大量のシンタックス書き換えとアセンブラの書き換えで移植は完了。移植したコード

・ファームウェアのダウンロード
テスト用のファームウェアはDevelopment KitのExamples/bulkloopをSDCCでコンパイルできる様に修正したもの使います。bulkloopはバルク転送のテスト用ファームウェアでEP02OUTからのデータをEP06INに、EP04OUTからのデータをEP08INに書き出す簡単なプログラムです。

ファームウェアの動作確認をする為にlibusbを使ったテストツールも作成しました。
ターミナルからの入力をEP2OUTに書き込み、EP6INから読み出す単純なプログラムです。
ソースコードとバイナリを置いておきます。

↑で作成したファームウェアをMINI FX2にダウンロードします。
fw.hexというファイルがあるので、それを04B48613.hexにリネームし次のコマンドでファームウェアのダウンロードを行います。

% Ezload 0x04B4 0x8613

ファームウェアのダウンロードはすぐに完了します。
このMacについて→詳しい情報→ハードウェア→USB装置ツリーを表示して、EZ-USBの名前があるか確認。
次にテストツールを起動してコマンドラインに適当な文字を入力。
64バイト毎にデバイスにデータが転送され、入力したデータがエコーバックされます。


参考URL
MacOS XでCypress EZ-USB
http://homepage.mac.com/raktajino/EZ-USB/EZUSBintro.html

オプティマイズ EZ-USB FX2
http://optimize.ath.cx/FX2_USB/index.html

nandのページ
http://homepage.mac.com/nand/Menu6.html

fenrir BLog
http://fenrir.naruoka.org/

CYPRESS
http://www.cypress.com/

SDCC
http://sdcc.sourceforge.net/

libusb
http://libusb.sourceforge.net/

Ads by Google

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。