首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]询问关于S12DG256B调试的问题,请有经验的高手进!

[求助]询问关于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的设置有问题??
请高手赐教!我有点黔驴技穷了
这里X指向什么地址?有没有可能指向了某些关键寄存器?
海纳百川  有容乃大
这个X本来是用来当作指针的,即观察信号的跳变,然后采集数据.跑飞时显示不对,我现在猜应该是由于跳变信号不来,导致X溢出,从而使程序触发异常中断所致.


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