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

9s12xdt256看门狗疑问

9s12xdt256看门狗疑问

9s12xdt256看门狗疑问

请问看门狗中断在FFFA这个地址上,我在PRM文件中加入了看门狗的中断的地址并且在C文件中写了看门狗中断服务程序。

为什么,我把断点设置在中断服务程序的时候为什么不会中断??我发现的现象是,看门狗没有经过中断服务程序,直接重启了!

我在SX二进制代码中也看到在FFFA这个地址上确实定义了我的中断服务例程的地址信息!

难道xdt256的片子和其他51也类似对于看门狗中断是没有中断服务例程的?一旦看门狗到时直接重启??

谢谢上面两位大哥的指点,我仔细查看过代码,并且在S19文件以及调试窗口中都看过,确定在FFFA地址上面就是COP的中断服务程序地址,没有被优化。

void _COP_EntryPoint(void)
{
while(1);
__asm("jmp _EntryPoint"); /* Jump to OnWatchDog */
}

const tIsrFunc _ResetVectorTable[] @0xFFFA = { /* Reset vector table */
/* Reset handler name Address Name Description */
_COP_EntryPoint, /* 0xFFFA ivVcop unused by PE */
_EntryPoint, /* 0xFFFC ivVclkmon unused by PE */
_EntryPoint /* 0xFFFE ivVreset used by PE */
};

确实产生了超时重启,启动COP之后系统显示如下内容

Postload command file correctly executed.
main 0xE089CE'L T
STARTED
RUNNING
Breakpoint
STARTED
RUNNING
Breakpoint
STEPPED OVER
TARGET SELF-RESET DETECTED
RUNNING
TARGET SELF-RESET DETECTED
TARGET SELF-RESET DETECTED
DBG Trigger occurred
TARGET SELF-RESET DETECTED
RUNNING
DBG Trigger occurred
TARGET SELF-RESET DETECTED
RUNNING
DBG Trigger occurred
TARGET SELF-RESET DETECTED
RUNNING
executing .\cmd\TBDML_reset.cmd

一直在重启,但是始终不是从中断服务例程中进入的!!如果进入肯定死在while1上面。现在每次都会自动到起始地址重启。很奇怪

[em01]
我使用了http://bbs.eccn.com/uploadImages/dg128_COP_Reset.rar这个chen工提供过的例子,您可以在中断中加入while1尝试一下,从来都不会断点进入

同样测试了在中断处理中做点灯的程序,并且摆脱BDM跑,仍然不能进入(因为没有任何点灯动作发生)

给点指导阿

帮帮忙阿

给点指导!各位大虾!
返回列表