[H8-ML(2113)] RE:3067Fのデバッグ方法について
From: "Hirashita" <iced@xxxxxxxxxxxxxxx>
Date: 2002年08月02日(金)17時10分21秒
ひやしたです。

>ここで、お聞きしたい事があるのですが、「ベクターテーブルの二重化」と言う
>機能があり、これによりFlushに書き込まなくても割り込み処理も含めて
>デバッグできるらしいのですが、その指定方法が良く判りません。

HEWでの指定方法はわかりませんが、割り込みを含めたデバッグを
RAM上のプログラムで行いたい、という事で有れば私は以下の方法でやってます。
RAMを0x200000、IMIA0割り込みをターゲットとすると
ROMに書き込まれるプログラム(モニター?)の0番地から
---------------------------
DC.L    START	       ;モニタのリセットベクタ
DC.L    H'200004     ;ベクタ番号1
DC.L    H'200008     ;ベクタ番号2
         ・
         ・
DC.L    H'200060     ;ベクタ番号24
         ・
         ・
DC.L    H'2000FC     ;ベクタ番号63
-------------------------------

としておいて、200000番地からのRAM領域に
-------------------------------
extern _imia0                ;割り込みルーチン

BRA    START	       ;ユーザプログラムのリセットベクタ
DC.L    0            ;ベクタ番号1
DC.L    0            ;ベクタ番号2
        ・
              ・
BRA       _imia0              ;ベクタ番号24(IMIA0割り込み)
        ・
        ・
---------------------------------
こうしておくと、IMIA0割り込みが発生するとROMのベクタ番号24
に示されるアドレス(0x20060)を読み込んで"BRA _imia0"を実行
_imia0()関数にジャンプしてくれます。
ジャンプテーブルを書くのが面倒ならORG命令を使って省略するも吉。

ってそーゆー質問なのかなぁ?
「そんな事知ってるわい!HEWでの指定方法が知りたいんじゃ!」
という話ならごめんなさい。

スレッド概略
[2111(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]