CW4.6: 9S12XDP512: debug break point problems with XGATE

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

CW4.6: 9S12XDP512: debug break point problems with XGATE

ソリューションへジャンプ
1,409件の閲覧回数
paulcsf
Contributor II
We are using a 9S12XDP512, and have C code doing the initialization, transferring execution to old assembly code that is in the process of being converted. We are using the XGATE.

When we step through the code, the XGATE control register is left alone from it's initial value (0x0000).

When we set a break point, the debugger sets the XGDBG bit, setting the XGMCTL register to a minimum of 0x0020.

On resume of code execution, this debug bit is not cleared, and our old assembly code doesn't touch XGMCTL again after initialization. So the XGATE stays in debug mode, freezing it's execution.

Is there a way to have the debugger restore XGMCTL to it's previous state before the break point?

Thanks, Paul.
ラベル(1)
タグ(1)
0 件の賞賛
返信
1 解決策
521件の閲覧回数
paulcsf
Contributor II
Well, we found it.

We were initializing the XGATE with XGMCTL=0x8383, which has the wrong state for BDM freeze operation.

The fix was to initialize the XGATE with XGMCTL=0xC3C3, causing the XGATE to freeze in DBM debug mode.


元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
522件の閲覧回数
paulcsf
Contributor II
Well, we found it.

We were initializing the XGATE with XGMCTL=0x8383, which has the wrong state for BDM freeze operation.

The fix was to initialize the XGATE with XGMCTL=0xC3C3, causing the XGATE to freeze in DBM debug mode.


0 件の賞賛
返信