UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 17466

PowerPC405 - PowerPC のマシン チェックのデバッグ方法

説明

キーワード : PPC, 405, PPC405, Powerpc, PowerPC, Debug, Machine Check, Exception

重要度 : 標準

概要 :
PowerPC デザインのマシン チェックはなぜ発生するのですか。 マシン チェックはどうすればデバッグできますか。

マシン チェックは、通常 SDRAM、DDR、BRAM、UART、IIC などのペリフェラルがマップされていないメモリ アドレスへのアクセスがあると発生します。

ソリューション

マシン チェック例外のソースを識別するには、まず例外が発生するときにプロセッサの実行を停止します。 これは、次のいずれかの方法で実行できます。

1. 割り込みがマシン チェック例外が発生したシステムでイネーブルになると、マシン チェック例外のソースを識別するためにブレークポイントが使用されます。 ブレークポイントを $EVPR+0x200 に設定します。この場合、EVPR は例外ベクタ ポインタ レジスタで、0x200 はマシン チェック例外の例外ベクタの入力ポイントです。

PowerPC の例外についての詳細は、『PowerPC Processor Reference Guide』を参照してください。 このガイドは、次のザイリンクス Web サイトから入手できます。

http://support.xilinx.co.jp/bvdocs/userguides/ppc_ref_guide.pdf

2. 割り込みがイネーブルではなく、マシン チェック例外をオンにしなかった場合、つまり割り込みを使用しないシンプルなスタンドアロン プログラムがある場合、次のいずれかを使用してバス エラーのプロセッサを停止できます。

(XMD%) rwr msr 0x1000 マシン チェック例外をオンにする
(XMD%) rwr dbcr0 0x83000000 例外のプロセッサを停止する

次に、プログラムを読み込んで実行します。

これで、マシン チェックが発生するとプロセッサが停止します。 SRR2 レジスタに例外から命令が返ってきた後に PowerPC を実行する次の命令が送信されます。 ここで、レジスタとコードの分解を確認すると、どのアクセスがバス エラー/マシン チェックの原因だったかわかります。 ただし、マシン チェック命令は不正確です。プロセッサは、実際には無効なメモリ アクセスの後に、さらに 2 ~ 3 の命令を実行できます。 このため、分解を確認する場合、SRR2 値の前の最後の命令だけでなく、それより何個か前の命令も確認する必要があります。

この方法の代わりに、またはこの方法と組み合わせて、ハードウェア デザインを変更し、DCR バスを PLB アービタ、PLB2OPB、および OPB2PLB ブリッジの BExR (BEAR/BESR) レジスタに接続する方法もあります。 これらのレジスタには、原因のアドレスが含まれます。

詳細については、PLB アービタ、PLB2OPB、OPB2PLB ブリッジ コアのマニュアルを参照してください。
AR# 17466
日付 04/28/2006
ステータス アーカイブ
種類 一般
このページをブックマークに追加