Board logo

标题: [求助]询问关于S12DG256B调试的问题,请有经验的高手进! [打印本页]

作者: cfistalent    时间: 2008-4-16 18:45     标题: [求助]询问关于S12DG256B调试的问题,请有经验的高手进!

请教一下各位高手,现有一块自制的S12DG256B的板子,调试ECT模块的PT4、PT5、PT6时出现问题;调试工具选用过P&E和TBDML这两个,均出现跑飞现象。跑飞时IX=14,IP与实际值不符,反汇编显示BGND指令,继续执行就一直为lds 0xffff.该板子使用有源晶振15M。调试程序的目的是利用PT5检测信号的上升沿和下降沿,以便做出相应动作。结果只要出现以下代码就会跑飞:
loop: movb portb,,x ;(假设需要判断的信号出现在PT5)
inx
brclr tflg1,#$20,loop
bset tflg1,#$20
我尝试:1.删除movb语句;2.在inx之后加入对x的判断跳转语句;均可以避免跑飞。唯独以上代码的组合不行。调试跑飞时命令行中显示的是manual stopped,但是我却查不到这个命令。
之后我在清华大学做的S12DG128的板子上测试,结果跑飞时memery全部显示0xff,但程序依然在走,只是x等寄存器明显不对。
现在我怀疑是不是ECT的使用中不允许以上的代码方式?因为在两个硬件平台的测试让我倾向于是软件的问题。抑或Debugger的设置有问题??
请高手赐教!我有点黔驴技穷了

作者: strongchen    时间: 2008-4-18 11:29

这里X指向什么地址?有没有可能指向了某些关键寄存器?
作者: cfistalent    时间: 2008-4-18 13:41

这个X本来是用来当作指针的,即观察信号的跳变,然后采集数据.跑飞时显示不对,我现在猜应该是由于跳变信号不来,导致X溢出,从而使程序触发异常中断所致.


呵呵,多谢版主回复.今天加上正确的输入信号以后没有再出现跑飞现象.
顺便说一下,我在61ic和myhsc08 上都问了同样的问题,时隔两天却依然无人响应.这里对版主赞一个.感谢版主的提问.




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0