酔漢電子工作手帳

2007-03-02

デバッグできた

| 03:21 | デバッグできた - 酔漢電子工作手帳 を含むブックマーク はてなブックマーク - デバッグできた - 酔漢電子工作手帳

TOPPERS/JSPROMに焼き、TINY JTAG経由でデバッグできるようになりました。ステップ実行、ブレーク・ポイントともOKです。

  • ハードウェアブレークポイントは2つまで設定できる
  • .gdbinitは、先日指摘されたとおり間に空白を挟むパスからは読み込めないかもしれない。もうすこし検証してみる。
  • .gdbinit内部でmonitor arm7_9 force_hw_bkpts enableを宣言している。
  • mi_cmd_disassemble: Invalid filenameは、自宅のwindows 2000マシンからは出ない。やっぱり出てる。目が節穴だっただけ。
  • OpenOCDのcfgファイル中で、target variantは、arm7tdmi-s_r4と指定している。

ステップ実行するたびに

Previous frame identical to this frame (corrupt stack?)

と表示されますが、スタックが壊れている様子はありません。アプリケーションは無改造sample1

OpenOCDのコンフィグレーション

| 14:30 | OpenOCDのコンフィグレーション - 酔漢電子工作手帳 を含むブックマーク はてなブックマーク - OpenOCDのコンフィグレーション - 酔漢電子工作手帳

昨日分のコメントに書いた様にROMへの進出も始めましたが、まだRAMでの実験も継続しています。

ADuC7026をターゲットとしたデバッグでは、pcレジスタを始めとしていくつかのレジスタを変更できないという問題がありました。

移動中にハタと気づきましたが、これはコア設定の問題かもしれません。

現在のPizzaFactoryではOpenOCDEのコンフィグレーションは、ADuC7026の場合、ターゲット設定は以下の様になっています。

target arm7tdmi little run_and_halt 0 arm7tdmi

これを、以下のように書き変えます。

target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4

コアのバリエーションシンセサイザブル・コアにしました。その結果、pcレジスタの値の変更もできる様になりました。

3m前進。

monamour555monamour5552007/03/03 09:33おそらく,フレームポインタが明後日の値になっています.> corrupt stack?
GDBの問題です.

suikansuikan2007/03/03 17:10gdbの問題ですか。昨晩googleで探し回ってソースのあたりなども眺めてみたのですが、イマイチわかりませんでした。FPがおかしい割にはデバッギは快調です。

monamour555monamour5552007/03/06 10:58「.gdbinitは、先日指摘されたとおり間に空白を挟むパスからは読み込めないかもしれない」
デグレードしていました.(以前は,空白を挟むパスからも読めていました)
http://d.hatena.ne.jp/monamour555/20070306#1173145115
昨日の修正で直っているはずです.

corrupt stackの件は,舌足らずでした.改めて日記に書こうかと思います.とりあえず,ターゲットに流し込んだコードに問題があるわけではなく,デバッガが誤動作するような類の深刻な問題ではない(当面,無視して構わない)です.

suikansuikan2007/03/07 03:07ダウンロード抑制機能ともども、確認しました。ありがとうございます!

トラックバック - http://ecrafts.g.hatena.ne.jp/suikan/20070302