arm/OpenOCDのUSB Blaster対応
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
2009/05/17 からのアクセス回数 &counter;
#contents
** Mac OS Xユーザ固有の悩み [#ge727660]
他でもコメントしていますが、
[[Eclipse/ARMプロセッサによる組み込み開発>http://www.amaz...
EclipseとOpenOCDを使ってARMの組み込み開発を説明したすばら...
Mac OS X では、以下の理由でFT2232ベースのJTAGではOpenOCD...
- LeopardではD2XXドライバとVCP(仮想COMポート)ドライバは同...
そこで、何とかMac OS XでOpenOCDを使えないものかと探したの...
その前にOpenOCDについて簡単に説明します。
- ARMではJTAGデバッグの方式を公開しており、この情報を使っ...
- OpenOCDを使ってEclipseからソースレベルでのデバッグがで...
以下に、EclipseからOpenOCDを使ってolimexのSAM7SP256ボード...
&ref(openocd.jpg);
Eclipse上で、ブレークポイントの設定、ソースのトレース、変...
&ref(Usb_Blaster.jpg);
こちらが、デバッグしているターゲットボードSAM7P256とUSB B...
** USB Blaster対応のOpenOCDの作成 [#fad1af61]
Usb Blaster対応のOpneOCDの記事は、[[kawk: USB JTAG adapte...
を参考にします。
*** ファイルのダウンロード [#b50e4f0a]
必要なファイルは、openocdのパッチファイルとコンフィグファ...
- [[kawk: USB JTAG adapter>http://www.ixo.de/info/usb_jta...
- usb_jtag/host/openocd/&ref(openocd.cfg);, usb_jtag/host...
*** openocdのmake [#zabcfcf6]
readmeを参考に、OpenOCDのSVNサイトからRevision 753をチェ...
#pre{{
$ mkdir ~/local/arm/openocd
$ cd ~/local/arm/openocd
$ svn co -r 753 svn://svn.berlios.de/openocd/trunk openoc...
$ cd openocd-r753
}}
次にパッチを適応し、bootstrap, configureを実行した後、mak...
#pre{{
$ patch -p1 < ../openocd.patch
$ ./bootstrap
$ ./configure --enable-usb_blaster_libftdi
$ make
$ sudo make install
}}
openocdは、
- /usr/local/bin/openocd
にインストールされ、openocdの設定ファイルは、
- /usr/local/lib/openocd
にインストールされます。
** 動作確認 [#t2880f20]
最後に、できあがったopenocdの動作を確認します。
- USB Blasterをターゲットボードに接続
- USB BlasterをPCに接続
- ターミナル以下のコマンドを実行(コンフィグファイルは直...
#pre{{
$ $ openocd -f ../openocd.cfg
Open On-Chip Debugger 1.0 (2009-04-13-07:33) svn:753M
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
Debug: 8 0 command.c:438 command_run_line_internal_op()...
Debug: 10 0 command.c:438 command_run_line_internal_op(...
Debug: 12 0 command.c:438 command_run_line_internal_op(...
Debug: 14 0 command.c:438 command_run_line_internal_op(...
Debug: 16 0 command.c:438 command_run_line_internal_op(...
Debug: 18 0 command.c:438 command_run_line_internal_op(...
Debug: 20 0 command.c:438 command_run_line_internal_op(...
Debug: 22 0 command.c:438 command_run_line_internal_op(...
Debug: 24 0 command.c:438 command_run_line_internal_op(...
Debug: 26 0 command.c:438 command_run_line_internal_op(...
Debug: 27 0 openocd.c:106 handle_init_command(): target...
Debug: 28 0 usb_blaster.c:528 usb_blaster_init(): 'usb_...
Debug: 29 692 usb_blaster.c:633 usb_blaster_init(): cur...
Debug: 30 693 usb_blaster.c:254 usb_blaster_speed(): TO...
implemented!
Debug: 31 693 openocd.c:113 handle_init_command(): jtag...
Debug: 32 693 jtag.c:1551 jtag_init_inner(): Init JTAG ...
Debug: 33 693 jtag.c:340 jtag_call_event_callbacks(): j...
Debug: 34 693 jtag.c:1309 jtag_reset_callback(): -
Debug: 35 693 usb_blaster.c:662 usb_blaster_blink(): TO...
Debug: 36 697 jtag.c:340 jtag_call_event_callbacks(): j...
Debug: 37 697 jtag.c:1309 jtag_reset_callback(): -
Debug: 38 697 usb_blaster.c:662 usb_blaster_blink(): TO...
Info: 39 1977 jtag.c:1403 jtag_examine_chain(): JTAG d...
Part: 0xf0f0, Version: 0x3)
Debug: 40 1977 jtag.c:340 jtag_call_event_callbacks(): ...
Debug: 41 1977 jtag.c:1309 jtag_reset_callback(): -
Debug: 42 1977 usb_blaster.c:662 usb_blaster_blink(): T...
Debug: 43 2010 openocd.c:120 handle_init_command(): jta...
Debug: 44 2010 openocd.c:123 handle_init_command(): jta...
Debug: 45 2010 openocd.c:130 handle_init_command(): fla...
Debug: 46 2010 openocd.c:134 handle_init_command(): NAN...
Debug: 47 2010 openocd.c:138 handle_init_command(): pld...
Warning: 48 2010 gdb_server.c:2015 gdb_init(): no gdb por...
}}
ここで、止まります。
Info: 39 1977 jtag.c:1403 jtag_examine_chain(): JTAG ...
Part: 0xf0f0, Version: 0x3)
のようにデバイスを正しく認識できればOKです。
'''残念ながら、USB Blaster対応opneocdでは、デバイスの認識...
** openocd.cfgの作り方 [#z4e2a531]
通常、openocd.cfgは、
#pre{{
$ cat 使用するJTAGインタフェース.cfg ターゲットボード.cfg...
}}
のようにJTAGインタフェースのcfgファイルとターゲットボード...
例)JTagKeyとSAM7S256ボードの場合、
#pre{{
$ cat /usr/local/lib/openocd/interface/jtagkey.cfg \
/usr/local/lib/openocd/target/sam7s256.cfg >openocd.cfg
}}
今回のUSB Blasterのcfgファイルは、以下の通りです。
#pre{{
telnet_port 4444
interface usb_blaster
usb_blaster_vid_pid 0x09fb 0x6001
}}
** コメント [#r49fcb44]
この記事は、
#vote(おもしろかった[12],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- この方法は、非常に遅いので、[[arm/MacOSXでJTagKey(互換)...
#comment_kcaptcha
終了行:
[[FrontPage]]
2009/05/17 からのアクセス回数 &counter;
#contents
** Mac OS Xユーザ固有の悩み [#ge727660]
他でもコメントしていますが、
[[Eclipse/ARMプロセッサによる組み込み開発>http://www.amaz...
EclipseとOpenOCDを使ってARMの組み込み開発を説明したすばら...
Mac OS X では、以下の理由でFT2232ベースのJTAGではOpenOCD...
- LeopardではD2XXドライバとVCP(仮想COMポート)ドライバは同...
そこで、何とかMac OS XでOpenOCDを使えないものかと探したの...
その前にOpenOCDについて簡単に説明します。
- ARMではJTAGデバッグの方式を公開しており、この情報を使っ...
- OpenOCDを使ってEclipseからソースレベルでのデバッグがで...
以下に、EclipseからOpenOCDを使ってolimexのSAM7SP256ボード...
&ref(openocd.jpg);
Eclipse上で、ブレークポイントの設定、ソースのトレース、変...
&ref(Usb_Blaster.jpg);
こちらが、デバッグしているターゲットボードSAM7P256とUSB B...
** USB Blaster対応のOpenOCDの作成 [#fad1af61]
Usb Blaster対応のOpneOCDの記事は、[[kawk: USB JTAG adapte...
を参考にします。
*** ファイルのダウンロード [#b50e4f0a]
必要なファイルは、openocdのパッチファイルとコンフィグファ...
- [[kawk: USB JTAG adapter>http://www.ixo.de/info/usb_jta...
- usb_jtag/host/openocd/&ref(openocd.cfg);, usb_jtag/host...
*** openocdのmake [#zabcfcf6]
readmeを参考に、OpenOCDのSVNサイトからRevision 753をチェ...
#pre{{
$ mkdir ~/local/arm/openocd
$ cd ~/local/arm/openocd
$ svn co -r 753 svn://svn.berlios.de/openocd/trunk openoc...
$ cd openocd-r753
}}
次にパッチを適応し、bootstrap, configureを実行した後、mak...
#pre{{
$ patch -p1 < ../openocd.patch
$ ./bootstrap
$ ./configure --enable-usb_blaster_libftdi
$ make
$ sudo make install
}}
openocdは、
- /usr/local/bin/openocd
にインストールされ、openocdの設定ファイルは、
- /usr/local/lib/openocd
にインストールされます。
** 動作確認 [#t2880f20]
最後に、できあがったopenocdの動作を確認します。
- USB Blasterをターゲットボードに接続
- USB BlasterをPCに接続
- ターミナル以下のコマンドを実行(コンフィグファイルは直...
#pre{{
$ $ openocd -f ../openocd.cfg
Open On-Chip Debugger 1.0 (2009-04-13-07:33) svn:753M
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
Debug: 8 0 command.c:438 command_run_line_internal_op()...
Debug: 10 0 command.c:438 command_run_line_internal_op(...
Debug: 12 0 command.c:438 command_run_line_internal_op(...
Debug: 14 0 command.c:438 command_run_line_internal_op(...
Debug: 16 0 command.c:438 command_run_line_internal_op(...
Debug: 18 0 command.c:438 command_run_line_internal_op(...
Debug: 20 0 command.c:438 command_run_line_internal_op(...
Debug: 22 0 command.c:438 command_run_line_internal_op(...
Debug: 24 0 command.c:438 command_run_line_internal_op(...
Debug: 26 0 command.c:438 command_run_line_internal_op(...
Debug: 27 0 openocd.c:106 handle_init_command(): target...
Debug: 28 0 usb_blaster.c:528 usb_blaster_init(): 'usb_...
Debug: 29 692 usb_blaster.c:633 usb_blaster_init(): cur...
Debug: 30 693 usb_blaster.c:254 usb_blaster_speed(): TO...
implemented!
Debug: 31 693 openocd.c:113 handle_init_command(): jtag...
Debug: 32 693 jtag.c:1551 jtag_init_inner(): Init JTAG ...
Debug: 33 693 jtag.c:340 jtag_call_event_callbacks(): j...
Debug: 34 693 jtag.c:1309 jtag_reset_callback(): -
Debug: 35 693 usb_blaster.c:662 usb_blaster_blink(): TO...
Debug: 36 697 jtag.c:340 jtag_call_event_callbacks(): j...
Debug: 37 697 jtag.c:1309 jtag_reset_callback(): -
Debug: 38 697 usb_blaster.c:662 usb_blaster_blink(): TO...
Info: 39 1977 jtag.c:1403 jtag_examine_chain(): JTAG d...
Part: 0xf0f0, Version: 0x3)
Debug: 40 1977 jtag.c:340 jtag_call_event_callbacks(): ...
Debug: 41 1977 jtag.c:1309 jtag_reset_callback(): -
Debug: 42 1977 usb_blaster.c:662 usb_blaster_blink(): T...
Debug: 43 2010 openocd.c:120 handle_init_command(): jta...
Debug: 44 2010 openocd.c:123 handle_init_command(): jta...
Debug: 45 2010 openocd.c:130 handle_init_command(): fla...
Debug: 46 2010 openocd.c:134 handle_init_command(): NAN...
Debug: 47 2010 openocd.c:138 handle_init_command(): pld...
Warning: 48 2010 gdb_server.c:2015 gdb_init(): no gdb por...
}}
ここで、止まります。
Info: 39 1977 jtag.c:1403 jtag_examine_chain(): JTAG ...
Part: 0xf0f0, Version: 0x3)
のようにデバイスを正しく認識できればOKです。
'''残念ながら、USB Blaster対応opneocdでは、デバイスの認識...
** openocd.cfgの作り方 [#z4e2a531]
通常、openocd.cfgは、
#pre{{
$ cat 使用するJTAGインタフェース.cfg ターゲットボード.cfg...
}}
のようにJTAGインタフェースのcfgファイルとターゲットボード...
例)JTagKeyとSAM7S256ボードの場合、
#pre{{
$ cat /usr/local/lib/openocd/interface/jtagkey.cfg \
/usr/local/lib/openocd/target/sam7s256.cfg >openocd.cfg
}}
今回のUSB Blasterのcfgファイルは、以下の通りです。
#pre{{
telnet_port 4444
interface usb_blaster
usb_blaster_vid_pid 0x09fb 0x6001
}}
** コメント [#r49fcb44]
この記事は、
#vote(おもしろかった[12],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
- この方法は、非常に遅いので、[[arm/MacOSXでJTagKey(互換)...
#comment_kcaptcha
ページ名:
SmartDoc