SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Eclipse/ARMプロセッサによる組込み開発

【第4回】OpenOCD


  • X ポスト
  • このエントリーをはてなブックマークに追加

設定

 Windows環境ではRoboShellWin.cfgを使い、Unix環境ではRoboShellUnix.cfgを使います。これらは微妙な差異しかありませんが、慣れるまではそれぞれのファイルを使ったほうが良いでしょう。

こちらのほうもTeamKNOxのサイトにおいてありますので利用してみてください。

仕組み

コンフィグファイルの設定

 OpenOCD を動作させるためには、ハードウェア毎の特性を記述したコンフィグレーションファイルの設定が必要になります。

 今回使うコンフィグレーションファイルもTeamKNOxのサイトからダウンロード可能です。RoboShellWin.cfg, RoboShellUnix.cfgの違いはディスクリプション部分を有効化してあるかコメントアウトしているかどうかだけです。

 ここでは RoboShellWin.cfg を見ていくことにします。

リスト:RoboShellWin.cfg

#daemon configuration
telnet_port 4444

gdb_port 3333

#interface
interface ft2232

# You have to comment out ft2232_device_desc in Windows environment
ft2232_device_desc "RoboShell debugger A"

ft2232_layout "jtagkey"
ft2232_vid_pid 0x0403 0x6010
jtag_speed 40

#use combined on interfaces or targets that can't set TRST/SRST separately
#reset_config trst_and_srst srst_pulls_trst
reset_config trst_and_srst

#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
jtag_nsrst_delay 10000
jtag_ntrst_delay 10000

#target  
#target arm7tdmi    
target arm7tdmi little reset_run 0 arm7tdmi-s_r4
run_and_halt_time 0 30

#target configuration
daemon_startup reset

working_area 0x0 0x40000000 0x40000 nobackup

#flash configuration
flash bank lpc2000 0x0 0x7D000 0 0 lpc2000_v2 0 14765 calc_checksum

# For more information about the configuration files, take a look at:
# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger

 この中で重要なのは、

telnet_port 4444 
gdb_port 3333

 この設定で、telnetのポートとデバッグで使うtcpのポートが設定されます。

 この部分は、前回の記事で説明したMProgで設定するEEPROMのディスクリプションと同じになるようにします。FTDI社のFT2232をベースにしたJTAGデバッガは各社からリリースされています。そのピン配置は概ね同じですが細かい違いがあります。今回の場合はjtagkeyとほぼ同一になっているので、jtagkeyを設定したわけです。

 FT2232のUSBのベンダーIDとプロダクトIDを設定します。この設定もEEPROMの設定値と同じになるようにします。JTAGの動作スピードです。今回のターゲットであるLPC2138のメモリマップに対応させます。フラッシュ時に必要な情報です。これが正確に書かれていないと、フラッシュできません。

次のページ
トラブルシューティング

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Eclipse/ARMプロセッサによる組込み開発連載記事一覧

もっと読む

この記事の著者

大橋 修(大宮技研合同会社)(オオハシ オサム)

大宮技研 エグゼクティブ・エンジニア。都立高専電気工学科卒業後、日本精工(株)でエアバッグの制御ソフトウェア開発、ボッシュ(株)にてエンジンマネージメントシステム開発、適合ツールの開発、プロジェクトマネージメント、ノキアにてシンビアンOS用ミドルウェアS60の開発などをおこなう。インテルを経て、首都大学東京...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3714 2009/03/17 13:37

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング