FrontPage

2010/03/30からのアクセス回数 7444

はじめに

MacOSXでD2XXドライバとVCPドライバを同時に使えないという制約のために、 諦めていたArm対応のJTAGですが、UrJtagを使うにいただいたもなかさんの コメントで、JtagkeyのベンダIDを変えると使えることが分かりました。

本物のJtagkeyでいきなり実験するのは怖いので、 Eclipse-ARMプロセッサによる組込み開発 で紹介されていた、 ツール工房のUSB2232(USBデュアル変換基板)を使って 試してみました。

2.png

ベンダIDの変更手順

必要なツール

ベンダIDを変更するには、

が必要です。上記のリンクからダウンロードします。*1

USB2232の設定

ドライバー、Mprogを展開し、USB2232を接続すると、ドライバーのインストールが始まります。 ダウンロードした最新のものが使われるようにしてください。

  1. MProgを起動し、以下のように設定を変更します。

OpenOCD JTAG.jpg

  1. Fileメニューで設定を保存すると、DeviceメニューのErase, Programが使えるようになります。
  1. Eraseを実行した後に、Programを実行します。

ベンダIDを変更したので、このままではWindowsでUSB2232が使えません。

最新のドライバーの

  • ftdibus.inf
  • ftdiport.inf

の2個のファイルをコピーし、FTDIのベンダIDである0403を今回変更したIDの1384に一括置換します。 これでドライバーをインストールすることができ、USB2232が認識されます。

今回使わせて頂いたベンダIDの1384は、 超低コスト-インターネット・ガジェット設計 の武藤さんが取得されたベンダIDで、ホビーや個人の研究においては自由に使ってよいとのコメントがあります。

動作確認

openocdのインストール

最新のopenocdをMacPortを使ってインストールします。

$ sudo port install openocd

jtagコンフィグファイル

jtagkeyのコンフィグファイルを参考にベンダIDを変更して、以下のようなjtag.cfgファイルを作成します。

interface ft2232
ft2232_device_desc "Open OCD JTAG"
ft2232_layout jtagkey
ft2232_vid_pid 0x1384 0x6010
  • ft2232_device_descには、MProgのProduct Descriptionで定義した記述をセット
  • ft2232_vid_pidの最初のベンダIDには、0x1384をセット

します。

オプティマイズのEZ-ARM7のコンフィグ

EZ-ARM7に搭載されているlpc2214の設定ファイルを以下に添付します。

filelpc2214.cfg

最新のopenocdでは、flash bankコマンドが変更されており、

flash bank lpc2000 <driver> <base> <size> 0 0 <target#> <variant> <clock> [cal
c_checksum]

となっていました。 また、コンフィグは、

  • openocd
  • lpc2214.cfg

で検索し、

から抜粋しました。

openocdの起動

最後に、openocdを以下のように起動し、動作を確認します。

$ /opt/local/bin/openocd -f jtag.cfg -f lpc2214.cfg 
Open On-Chip Debugger 0.4.0 (2010-03-29-18:37)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.berlios.de/doc/doxygen/bugs.html
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
2000 kHz
Info : clock speed 2000 kHz
Info : JTAG tap: lpc2xxx.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 4
Info : lpc2xxx.cpu: hardware has 2 breakpoint/watchpoint units

と出力されれば、成功です。

コメント

選択肢 投票
おもしろかった 4  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。

  • ひとつ教えていただいてもよろしいでしょうか? 記事のようにVIDを書き換えた後で、MProgはFT2232ボードのEEPROMのerase/writeができますか? わたしのところではFTDIオリジナルのVID/PIDを変更してしまうとMProgからFT2232上のEEPROMを扱えなくなってしまって困った経験があります。同じような状況になりませんでしたでしょうか? -- やまちゅう? 2010-12-11 (土) 15:01:46
  • やまちゅうさま、MProgで変更した時のVMイメージが見つからず、確認することができませんでした。申し訳ありません。 -- 竹本 浩? 2010-12-11 (土) 19:18:30
  • 竹本さん、お手数をお掛けしました。私は日常的なwin使いではないのでこの件はlinux上でftdi_eepromというツールをもぞもぞして、2232上のeepromを一旦eraseした後、再度MProgでeepromのコンフィグを書き直しました。MProgもどこかでVID/PIDを見ているところがあると思うのですが、ついぞ見当たらずでした。 -- やまちゅう? 2010-12-11 (土) 21:24:06

(Input image string)


*1 FTDIのサイトではMProgの代わりにFT_Progを進めていますが、Mprogの方がコンパクトで便利です

添付ファイル: filelpc2214.cfg 1739件 [詳細] fileOpenOCD JTAG.jpg 1942件 [詳細] file2.png 1718件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-02 (金) 18:28:47 (2702d)
SmartDoc