SSブログ

OpenOCDフリスクデバッカーのバージョン、新たなるチャレンジ [ARM&Cortex-M3]

DSC00144.JPGどうにもこうにもバージョンを0.1.0に戻すと言った消極的作戦では納得行かないものがある。

と、ここでTACさんから耳寄りな情報。
「OpenOCDのバージョン0.2.0で動いている!。」(※実際にはOpenOCD 0.2.0-SR1)

以前の問題は、
1.ftd2xx.dll がライセンスの問題から利用できなくなり、OpenOCDのバージョンも0.1.0から0.2.0以降に変わった。
2.msiファイルは特定のツール用のみの提供となり、それ以外のツールでは利用できなくなった。
3.しょうがないのでソースコードから0.3.0をビルドして使った。
4.でも私の使い方だと0.3.0でもちゃんと動かなかった。

http://www.freddiechopin.info/index.php/en/download/category/4-openocd
OpenOCD 0.2.0-SR1のmsiファイルをダウンロードしてください。

インストールするとProgramFilesの中にOpenOCDフォルダーが生成され、その下にはバージョン毎に別れてインストールされます。
問題はftd2xx.dllが使用できないので0.2.0からは代わりのドライバーを使う事になっています。
そこで出来たフォルダーの中のdrivers以下にあるft2232.zipを解凍すると説明書(info.txt)と、ドライバー類(libusb0.dll、libusb0.sys)とinfファイル(libusb-win32_ft2232_driver.inf)が出来上がります。

さて、今回作成したOpenOCDフリスクデバッカーは、DWM 2008年6月号の記事を元に作成しているので、ディスクリプタもmyJTAGのまま、ベンダーIDやマニュファクチャもFTDIのままです。

現状ftd2xx.dllを使うようにシステムに登録されてしまっているので、これをlibusb-win32に切り替えねばなりません。なんか近道のつもりでデバイスマネージャーからドライバーファイルの更新とか、削除して再差込での更新を期待したりと、結局遠回りした割りにドライバーの更新はできませんでした。
最初からFTCleanを使いましょうと言う教訓ですね。

さて、libusb-win32_ft2232_driver.infにはOpenOCDフリスクデバッカーのエントリーが無いので、編集して以下の記述を追加します。
[Devices]項目には、
"FTDI myJTAG A"=LIBUSB_DEV, USB\VID_0403&PID_6010&MI_00
[Devices.NT]項目には、
"FTDI myJTAG A"=LIBUSB_DEV, USB\VID_0403&PID_6010&MI_00
をそれぞれのエントリーの最後に追加しました。

FTCleanでFTDIのドライバーを削除したら、再びOpenOCDフリスクデバッカーを差し込むと、当然ドライバーファイルの存在を聞いてきますので、libusb-win32_ft2232_driver.infのあるフォルダーを指定してください。私の場合はC:\Program Files\OpenOCD\0.2.0\drivers\ft2232でした。

バージョンアップ前と後の転送速度の差を示します。ちなみにパソコンはThink pad X24 ペンティアムMの1.05GHzでUSBのバージョンは1.1です。
OpenOCD 0.1.0の時の転送速度
Transfer rate: 4 KB/sec, 978 bytes/write.
OpenOCD 0.2.0の時の転送速度
Transfer rate: 9 KB/sec, 978 bytes/write.



ドライバーのインストールに難儀したら、以下をお読み下さい。

Win2Kの話ですが、FTCleanにてFTDIのドライバーを削除した後、OpenOCDフリスクデバッカーを差し込んで新しいデバイスの認識をさせます。するとドライバーのインストールが開始されますのでlibusb-win32_ft2232_driver.infのあるフォルダーを指定する訳ですが、何故か正常なドライバーとなりません。色々試したところ、一旦ここでドライバーのインストールを止めて、デバイスマネージャー上には不明なデバイスとして登録しておきます。
この不明なデバイスを右クリックでプロパティを表示させ、ドライバーの再インストールでもう一度上記フォルダーを指定すると、今度はドライバーとして利用できるようになります。
openocdv020_001.png 「別のドライバーをインストールする」にチェックを入れる。
openocdv020_002.png myJTAGを選択する。
openocdv020_003.png LibUSB-Win32 DevicesにmyJTAGが表示される。
openocdv020_004.png FT2232は複合デバイスなので、もう一つのシリアルチャンネルが残っている。こちらはFTDIの純正のドライバーをインストールしておけば、不明なデバイスから昇格できる(笑)。
openocdv020_005.png External Tools Configurationで新しいopneocdの実行ファイルを指定する。


WiiRemoteプログラミング

WiiRemoteプログラミング

  • 作者: 白井 暁彦
  • 出版社/メーカー: オーム社
  • 発売日: 2009/07/25
  • メディア: 単行本



nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。