iabr レジスタを使用してブレークポイントを設定する方法を知りたいです。マニュアルには isync 命令について何か書かれていますが、これは機能していないようです。誰か助けてくれませんか?
私が使用しているコード:
asm ("isync");
asm volatile ("mtspr 1010,%0;" : : "r"(val));
asm ("isync");
asm ("isync");
iabr レジスタを使用してブレークポイントを設定する方法を知りたいです。マニュアルには isync 命令について何か書かれていますが、これは機能していないようです。誰か助けてくれませんか?
私が使用しているコード:
asm ("isync");
asm volatile ("mtspr 1010,%0;" : : "r"(val));
asm ("isync");
asm ("isync");
MPC604はヒントを提供します:
命令アドレスブレークポイント例外は、IABRのアドレス(ビット0〜29)が完了ユニットで完了する次の命令と一致し、IABRイネーブルビット(ビット30)が1に設定されている場合に発生します。
中断したい命令のアドレスがである場合addr
、あなたはする必要がありますval = addr | 2
。ビット31が何をするのかわかりません。