#freeze [[FrontPage]] #contents 2010/03/30からのアクセス回数 &counter; ** はじめに [#y8089621] MacOSXでD2XXドライバとVCPドライバを同時に使えないという制約のために、 諦めていたArm対応のJTAGですが、[[UrJtagを使う]]にいただいたもなかさんの コメントで、JtagkeyのベンダIDを変えると使えることが分かりました。 本物のJtagkeyでいきなり実験するのは怖いので、 [[Eclipse-ARMプロセッサによる組込み開発>http://www.amazon.co.jp/dp/4798115843/]] で紹介されていた、 [[ツール工房>http://tool-kobo.ddo.jp/]]のUSB2232(USBデュアル変換基板)を使って 試してみました。 &ref(2.png); ** ベンダIDの変更手順 [#j39d1963] *** 必要なツール [#q98acbe0] ベンダIDを変更するには、 - 最新の[[D2XXドライバ>http://www.ftdichip.com/Drivers/D2XX.htm]] - EEPROM書き込みツール[[MProg3.5>http://www.ftdichip.com/Resources/Utilities.htm]] が必要です。上記のリンクからダウンロードします。((FTDIのサイトではMProgの代わりにFT_Progを進めていますが、Mprogの方がコンパクトで便利です)) *** USB2232の設定 [#x1e3fdd4] ドライバー、Mprogを展開し、USB2232を接続すると、ドライバーのインストールが始まります。 ダウンロードした最新のものが使われるようにしてください。 + MProgを起動し、以下のように設定を変更します。 &ref(OpenOCD JTAG.jpg); + Fileメニューで設定を保存すると、DeviceメニューのErase, Programが使えるようになります。 + Eraseを実行した後に、Programを実行します。 ベンダIDを変更したので、このままではWindowsでUSB2232が使えません。 最新のドライバーの - ftdibus.inf - ftdiport.inf の2個のファイルをコピーし、FTDIのベンダIDである0403を今回変更したIDの1384に一括置換します。 これでドライバーをインストールすることができ、USB2232が認識されます。 今回使わせて頂いたベンダIDの1384は、 [[超低コスト-インターネット・ガジェット設計>http://www.amazon.co.jpdp/4274501868/]] の武藤さんが取得されたベンダIDで、ホビーや個人の研究においては自由に使ってよいとのコメントがあります。 ** 動作確認 [#na174b82] *** openocdのインストール [#gf6368b3] 最新のopenocdをMacPortを使ってインストールします。 #pre{{ $ sudo port install openocd }} *** jtagコンフィグファイル [#z0e39662] jtagkeyのコンフィグファイルを参考にベンダIDを変更して、以下のようなjtag.cfgファイルを作成します。 #pre{{ 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のコンフィグ [#p4433046] EZ-ARM7に搭載されているlpc2214の設定ファイルを以下に添付します。 &ref(lpc2214.cfg); 最新のopenocdでは、flash bankコマンドが変更されており、 #pre{{ flash bank lpc2000 <driver> <base> <size> 0 0 <target#> <variant> <clock> [cal c_checksum] }} となっていました。 また、コンフィグは、 - openocd - lpc2214.cfg で検索し、 - [[http://www.mail-archive.com/openocd-development@lists.berlios.de/msg07987.html]] から抜粋しました。 *** openocdの起動 [#p00cd44b] 最後に、openocdを以下のように起動し、動作を確認します。 #pre{{ $ /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 }} と出力されれば、成功です。 ** コメント [#q3a0e9b4] #vote(おもしろかった[3],そうでもない[0],わかりずらい[0]) #vote(おもしろかった[4],そうでもない[0],わかりずらい[0]) 皆様のご意見、ご希望をお待ちしております。 - ひとつ教えていただいてもよろしいでしょうか? 記事のようにVIDを書き換えた後で、MProgはFT2232ボードのEEPROMのerase/writeができますか? わたしのところではFTDIオリジナルのVID/PIDを変更してしまうとMProgからFT2232上のEEPROMを扱えなくなってしまって困った経験があります。同じような状況になりませんでしたでしょうか? -- [[やまちゅう]] &new{2010-12-11 (土) 15:01:46}; - やまちゅうさま、MProgで変更した時のVMイメージが見つからず、確認することができませんでした。申し訳ありません。 -- [[竹本 浩]] &new{2010-12-11 (土) 19:18:30}; - 竹本さん、お手数をお掛けしました。私は日常的なwin使いではないのでこの件はlinux上でftdi_eepromというツールをもぞもぞして、2232上のeepromを一旦eraseした後、再度MProgでeepromのコンフィグを書き直しました。MProgもどこかでVID/PIDを見ているところがあると思うのですが、ついぞ見当たらずでした。 -- [[やまちゅう]] &new{2010-12-11 (土) 21:24:06}; #comment_kcaptcha