5524|13

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince看门狗的问题 [复制链接]

wince启动后,怎样判断这次启动是看门狗重启,还是正常启动?

最新回复

请教,应该怎么读这个寄存器啊?板子重启了都,应该怎么在它重启后读?是下次上电吗?  详情 回复 发表于 2008-8-6 15:33
点赞 关注

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己设置标志位,启动的时候进行判断
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
嗯,看门狗启动是热启动不会重置内存

如果不放心那啥的,可以写一个文件,保存到不丢失空间里也成

就是启动后进行读写花点时间...

 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
恩,就是楼上说的,如果那个看门狗是自己写的,直接写个配置文件,要重启的时候在文件中写个标志,每次重启读一次文件,然后再把文件中的标志去掉,,,
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

5
 
写配置文件,确定一个标志位,但是注意干扰问题保证能喂狗。。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
问题是计数到0的时候,是系统自己(或CPU,这是硬看门狗)重启的,也就是说,我不知道系统什么时候重启的,我也不知道在那个地方添加写标志的代码。

系统是wince4.2  cpu 三星2410  看门狗重启是CPU上的一个管脚触动的。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
你的意思是你的板子上的看门狗是硬件实现的??就是开机后不管怎么样,都会到了时间重启??那能在bios中关了吗
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 
感觉逻辑上有问题啊。你看门狗是通过什么方式喂狗的啊? 不是你的wince程序吗? 如果是的话就好办了,对不对?

不是的话,也就是说这个看门狗不是你用的。既然你程序都没有死,理论上来说这个看门狗就不应该重启啊。它为什么要把你的程序复位了?

还有一种方法,开启你程序的时候,写一个标记到文件,然后正常关机的话,把这个标记清除掉。  每次启动的时候判断一下就行了。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

9
 
晕.... 一头雾水... 什么是狗?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

10
 
狗啊,楼上你不喂它,就会咬人的那一种
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

11
 
wince系统和windows系统不一样,关机时一般都是直接关闭电源。重启时直接上电即可。看门狗重启有些类似系统的软启动,即不掉电重启。

            //看门狗初始化
            #if (Use_Watchdog)
               if (IsWinCEFlag) CHMIIO.OpenWatchdog(WatchdogTime);
            #endif
            while (ComServiceFlag)
            {
                if (ReadDataFlag)
                {
                   ReadData();
                }
                Thread.Sleep(20);
                //清看门狗
                  #if (Use_Watchdog)
                  if (IsWinCEFlag) CHMIIO.ResetWatchdog();
                #endif
            }
            //看门狗关闭
            #if (Use_Watchdog)
                if (IsWinCEFlag) CHMIIO.CloseWatchdog();
            #endif
        }

注意:如果ReadData长时间没有返回,此时程序在规定时间内无法清看门狗,导致看门狗超时,这时候系统就会重启,该重启过程应用程序不可知,也不可控,提供这个接口的驱动程序仅仅提供看门狗操作的几个接口,也无法知道看门狗何时何地重启的。

我只想问在wince下有经验使用看门狗的,是如何区分当前系统是看门狗启动的,还是正常上电启动的。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

12
 
哈哈!啥看门狗启动呀!前几天总监还要我看一下如何开机自动安装软件哪。看门狗指的是执行这个程序吗?哈哈,太搞笑了!
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
如果你用的是S3C2410CPU的话,可以查看GSTATUS2寄存器,这个里面的位标志着上电启动、从POWER-OFF模式恢复、以及是否是看门狗启动。
当然如果你是在应用程序里,记得要用虚拟地址访问这个寄存器。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 z820212zg 的回复:
如果你用的是S3C2410CPU的话,可以查看GSTATUS2寄存器,这个里面的位标志着上电启动、从POWER-OFF模式恢复、以及是否是看门狗启动。
当然如果你是在应用程序里,记得要用虚拟地址访问这个寄存器。

请教,应该怎么读这个寄存器啊?板子重启了都,应该怎么在它重启后读?是下次上电吗?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表