OpenOCDのバージョンを上げてみた(0.1.0→0.3.0) [ARM&Cortex-M3]
zusさんのページを参考にARM(Cortex M3)の開発環境を立ち上げ、やはりzusさんのページを参考にOpenOCDのバージョンを上げてみました。
zusさんのページ:http://homepage3.nifty.com/zus/index.html
Cortex M3の開発環境構築のページ:http://homepage3.nifty.com/zus/ARM_M3_Dev_Flame.html
OpenOCDのビルドのページ:http://homepage3.nifty.com/zus/OpenOCD_Build_win32_Flame.html
本当にありがとうございました。
経緯は、OpenOCDは大人の?理由でバイナリ-の配付が出来なくなったらしく、特定のJTAGツール以外のOpenOCDのバイナリ-の入手をweb上から行う事が困難となり路頭に迷っていた(笑)のですが、OpenOCDのバイナリ-の生成手順を一から解説していただいたお蔭で新しいバージョンを利用可能となりました。
上記リンク先の手順の参考にすると、自分でバイナリ-(実行ファイル)を作る事ができます。
ただし、verが0.3.0を使用した場合、今までのJTAGの設定ファイルの一部に修正をする必要がありました。
OpenOCDをコマンドラインからでも、エクリプスからでも良いのですが起動した場合に以下の様なメッセージが表示されます。
Open On-Chip Debugger 0.3.0-in-development (2009-08-11-19:33) svn:2578
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
jtag_speed: 1
Warn : Interface already configured, ignoring
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
jtag_speed: 1
500 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
Info : device: 4
Info : deviceID: 67330064
Info : SerialNumber: FTSA6QCYA
Info : Description: myJTAG A
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG Tap/device matched
Info : JTAG tap: stm32.bs tap/device found: 0x06414041 (mfg: 0x020, part: 0x6414, ver: 0x0)
Info : JTAG Tap/device matched
気になるのは
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
の一文です。このままデバッカーを起動してみましたが、やはり上手く行かないようです。具体的にはフラッシュにプログラムが書き込めていない様な感じです。
そこで幾つかのJTAG関連の設定ファイルの中を検索し、
jtag_speed 1
となっているところを
jtag_khz 500
と修正してみました。
※設定に関する記述はいい加減です。まったく根拠は無く、たまたま上手く行っただけのレベルです。
この修正によって上記メッセージは出なくなり、接続も無事出来たようです。
実際にデバッカーを動かしてみましたが、バージョン0.1.0よりもきびきび動いて、極めて好感触です。
うーん、良いかも。
ただ気になる事もあります。
これはバージョン0.1.0からなのですが、メモリダンプが上手く行きません。
変数watchとかレジスタの参照とか、勿論ブレークポイントやステップ実行等はちゃんと動くのですが、メモリダンプのみ今だ正常に出来ていません。
どなたか、、、。
zusさんのページ:http://homepage3.nifty.com/zus/index.html
Cortex M3の開発環境構築のページ:http://homepage3.nifty.com/zus/ARM_M3_Dev_Flame.html
OpenOCDのビルドのページ:http://homepage3.nifty.com/zus/OpenOCD_Build_win32_Flame.html
本当にありがとうございました。
経緯は、OpenOCDは大人の?理由でバイナリ-の配付が出来なくなったらしく、特定のJTAGツール以外のOpenOCDのバイナリ-の入手をweb上から行う事が困難となり路頭に迷っていた(笑)のですが、OpenOCDのバイナリ-の生成手順を一から解説していただいたお蔭で新しいバージョンを利用可能となりました。
上記リンク先の手順の参考にすると、自分でバイナリ-(実行ファイル)を作る事ができます。
ただし、verが0.3.0を使用した場合、今までのJTAGの設定ファイルの一部に修正をする必要がありました。
OpenOCDをコマンドラインからでも、エクリプスからでも良いのですが起動した場合に以下の様なメッセージが表示されます。
Open On-Chip Debugger 0.3.0-in-development (2009-08-11-19:33) svn:2578
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
jtag_speed: 1
Warn : Interface already configured, ignoring
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
jtag_speed: 1
500 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
Info : device: 4
Info : deviceID: 67330064
Info : SerialNumber: FTSA6QCYA
Info : Description: myJTAG A
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG Tap/device matched
Info : JTAG tap: stm32.bs tap/device found: 0x06414041 (mfg: 0x020, part: 0x6414, ver: 0x0)
Info : JTAG Tap/device matched
気になるのは
OLD SYNTAX: DEPRECATED - use jtag_khz, not jtag_speed
の一文です。このままデバッカーを起動してみましたが、やはり上手く行かないようです。具体的にはフラッシュにプログラムが書き込めていない様な感じです。
そこで幾つかのJTAG関連の設定ファイルの中を検索し、
jtag_speed 1
となっているところを
jtag_khz 500
と修正してみました。
※設定に関する記述はいい加減です。まったく根拠は無く、たまたま上手く行っただけのレベルです。
この修正によって上記メッセージは出なくなり、接続も無事出来たようです。
実際にデバッカーを動かしてみましたが、バージョン0.1.0よりもきびきび動いて、極めて好感触です。
うーん、良いかも。
ただ気になる事もあります。
これはバージョン0.1.0からなのですが、メモリダンプが上手く行きません。
変数watchとかレジスタの参照とか、勿論ブレークポイントやステップ実行等はちゃんと動くのですが、メモリダンプのみ今だ正常に出来ていません。
どなたか、、、。
ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance)
- 作者: Joseph Yiu
- 出版社/メーカー: CQ出版
- 発売日: 2009/05
- メディア: 単行本
2009-08-11 21:33
nice!(0)
コメント(1)
トラックバック(0)
こんにちはzusです。
OpenOCDのビルド確認ありがとうございました。
JTAG設定ファイルの件ですが私も同様のエラーが
出ていましたがフラッシュには書けていたようでしたので
そのままにしていましたが修正したいと思います。
by zus (2009-08-12 10:15)