MIPS用JTAG ICE開発中
MIPSのJTAGデバッグ機構はEJTAGといいますが、これを利用したデバッガを開発中です。
MIPS32とかMIPS64とかのCPUを、シングルステップ実行させたり、メモリやレジスタの中身をJTAG経由で読み書きする機能です。これは本来動作しているのプログラムとは無関係に強制的に動作するので、ROM上にプログラムがない状態でも使えてしまうというものです。(いや、変なプログラムが書かれているとEJTAGが使えなくなることもあるようだが、究明中)
![]()
EJTAG仕様書を見ながら、AlchemyのAu1550に強制ブレークをかけると、YAMONさん(MIPS用高機能モニタデバッガ)に「勝手にデバッグするな!!」と起こられてしまいました。
(絵をクリックで拡大)
気を取り直して、順序よくEJTAGを操作していくと、ちゃんとメモリの内容やレジスタの内容を読み書きすることができるようになりました。
(絵をクリックで拡大)
このスクリーンショットは、フラッシュメモリの0番地に書き込まれているデータを、JTAG-ICEで読み出しているものです。(メモリダンプはShiftJISを気にしていないので、文字コードの切れ目で化けていますが・・・。さらに、よく見るとアドレスカウンタが変わってませんね(笑)
近いうちにWindows上からGUIでEJTAGを気軽に触れるアプリケーションに育つことでしょう。あとは動作速度の改善と、EJTAGのデバッグから復帰したときにYAMONさんに見つからないようにすること、逆アセンブラの搭載かな。
| 固定リンク


コメント