主题:[求助]em335x wince7板无故重启

  共有3707人关注过本帖    
帅哥哟,离线,有人找我吗?
stanleymanhk
1楼 信息 | 搜索 | 邮箱


加好友 发短信
[求助]em335x wince7板无故重启  发帖心情 Post By:8/26/2025 6:22:00 PM   [只看该作者]

在相同的情景, 同一套程序和相近的操作应用, 6(都是使用em335x)中, 有1台经常出现无故重启, 有什么可能原因?



  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lqk
2楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:8/27/2025 2:47:00 PM   [只看该作者]

可尝试

  1. 只启动系统,不运行应用程序看是否有自动重启现象。

  2. 请对换主板与底板硬件对比测试。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
stanleymanhk
3楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/7/2026 9:27:00 AM   [只看该作者]

请教以下喂狗周期如何延长, 现时10000, 10



//打开看门狗设备”WDT1:”
hWDT = CreateFile(
_T("WDT1:"),
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_RANDOM_ACCESS,
NULL);
if( hWDT==INVALID_HANDLE_VALUE )
{
printf( "Open WDT device fail!\n" );
return -1;
}
//得到喂狗周期
bRet = ReadFile( hWDT, &dwWDTPeriod, sizeof(DWORD), &dwLen, NULL );
//应用程序喂狗
WriteFile( hWDT, &dwWDTPeriod, sizeof(DWORD), &dwLen, NULL );


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
4楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/7/2026 2:51:00 PM   [只看该作者]

不考虑硬件因素,只考虑软件层面。一般来说,系统不出故障,代码中没有调用重启代码,重启应该只有没有及时喂狗这个可能。

要验证这点,可以代码里注释“接管系统WDT”来测试。

如果是WDT喂狗的原因,应当检查,程序里是否可能造成死循环,将系统资源占完的情况。

程序里是否单独开了一个线程来喂狗,一般逻辑,都需要单独的线程来喂狗,否则其它阻塞都可能导致喂狗不及时。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
stanleymanhk
5楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/7/2026 6:27:00 PM   [只看该作者]

跟文档的”60不同, 是平台不同? CE只有10秒时限?
我先停用WDT功能, 再看什么地方会卡了, 也卡喂狗的计时器

图片点击可在新窗口打开查看


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
6楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/8/2026 12:56:00 PM   [只看该作者]

60秒太长了,后来我们缩短了,文档还未更新。

你需要再确认下,一定要用单独的进程或者单独的线程来处理WDT的喂狗,不要在主线程里喂狗,也不要在timer里面喂狗,否则一旦遇到阻塞,就可能导致喂狗不及时。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
stanleymanhk
7楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/8/2026 2:27:00 PM   [只看该作者]

先谢回应和建议。

我有V4.1, V4.2 V4.4的板子。
请问在什么的版本, 开始有关WDT的修改。

, 停用WDT, 出现无故重启

系统或配置会否有自保, 有机会自保重置

 


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
8楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/8/2026 4:39:00 PM   [只看该作者]

EM335X所有版本均是15秒。

如果你没有使用WDT,也会重启,说明板子重启和WDT没有任何关系。你的代码里的其它操作导致了重启。


另外如果你需要WDT使用例程,可以留下邮箱。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
9楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/8/2026 5:52:00 PM   [只看该作者]

另外你说你有V4.1 V4.2 V4.4的板子,你用的是不是ESM335X?而不是EM335X。

在软件层面,ESM335X和EM335X是一样的。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
stanleymanhk
10楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/9/2026 1:49:00 PM   [只看该作者]

全都是EMS335X

好奇一问: 在不用WDT情境下,  如果要弄一个测试程序, 触发系统重置”, 程序是否 一直在跑高运算和内存需要(不释放), 便可以?


[此贴子已经被作者于2026/1/9 13:49:27编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
11楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:1/9/2026 2:46:00 PM   [只看该作者]

一般情况很难让板子因WDT重启,最简单办法是不停创建线程,线程里面while(1)死循环,然后把该线程优先级调很高。

我建议你先观察测试,板子如果不跑任何程序,会重启吗?

板子运行时,电源电压有5V吗?

有没有可能板子电源电压一直不稳定,当电源芯片判定电压不够导致的重启。


  单帖管理 | 引用 | 回复 回到顶部

返回首页

[求助]em335x wince7板无故重启

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容:
字号