none
wince看门狗的问题 RRS feed

答案

  •  

    说说我的看法:

     

    一般watchdog里面有一个状态寄存器,这个寄存器即使进行了watchdog reset以后,里面的状态同样会被保留,不会丢失的。但是,如果进行了power-on reset,也就是重新上电,那么这个状态寄存器应该恢复成芯片上电时候的默认值。

     

    所以,如果是正常启动,那么这个状态寄存器开始应该是有一个上电的默认值。如果是由于watchdog reset导致重启,那么这个状态寄存器应该保留了上一次的状态,不会丢失。

     

    所以,通过这个状态寄存器的值,你应该可以判断出是看门狗重启,还是正常启动??

     

    具体的你要看一下你的芯片的datasheet了,呵呵!

    2007年11月28日 3:36

全部回复

  •  

    说说我的看法:

     

    一般watchdog里面有一个状态寄存器,这个寄存器即使进行了watchdog reset以后,里面的状态同样会被保留,不会丢失的。但是,如果进行了power-on reset,也就是重新上电,那么这个状态寄存器应该恢复成芯片上电时候的默认值。

     

    所以,如果是正常启动,那么这个状态寄存器开始应该是有一个上电的默认值。如果是由于watchdog reset导致重启,那么这个状态寄存器应该保留了上一次的状态,不会丢失。

     

    所以,通过这个状态寄存器的值,你应该可以判断出是看门狗重启,还是正常启动??

     

    具体的你要看一下你的芯片的datasheet了,呵呵!

    2007年11月28日 3:36
  • 好的,谢谢你!我试一试

     

    2007年11月28日 15:10
    版主
  • LS的回答很对,这个跟具体的看门狗硬件相关,跟WinCE倒是没有多少关系。看一下datasheet,读一个寄存器,还是比较简单的。

     

    2007年11月29日 8:57
    版主
  •  

    这是三星2410 CPU自带的watchdog,除了可以设置计数器之外,没有别的状态寄存器可用,不知道还有没有其他方法实现类似的功能。
    2007年12月8日 15:26
    版主
  •  

    也许2410自带的watchdog没有状态寄存器,它应该有类似于count的寄存器,也许通过读这个寄存器的count值可以区分是正常启动还是watchdog-reset启动。

     

    我在WinCE里面没有用过2410,我的建议是,你可以在正常启动的时候,把所有相关watchdog模块的寄存器都读出来,然后人为的制造一次watchdog-reset,然后再把这些寄存器读出来,比较一下。我估计是不是有哪个类似于count的寄存器会溢出.

     

    个人建议,仅供参考,呵呵

    2007年12月10日 2:12