关于WinCE系统重启的问题

kuoshuang 2012-08-01 08:18:59
我在WinCE上编写的软件,运行时间长了系统就可能重启,查看调试串口输出的信息,没有显示错误的信息,具体显示为……+GIO_IOControl,接下来是-GIO_IOControl,接下来就是系统启动的信息了。我认为软件问题的可能性不大,不知道有没有哪个大侠知道原因,谢谢!
...全文
378 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuoshuang 2012-08-16
  • 打赏
  • 举报
回复
多谢楼上各位大侠解答,现在不重启了。但是不是解决了,因为这几天在忙其它的事,没管这个,这两天重新试了下,又不重启了……
以前碰到过这种诡异的情况,当时我开了四个串口线程,正常工作,后来又开了个线程通过网口向PC机写数据,但是奇怪的是网口线程一开系统就非常卡,设置优先级也不行,后来那个方案就不用了,没加网口通信的功能。但是一个月左右后偶尔又试了下(以前生成那个exe文件,没改任何东西),又好了,而且优先级也能设置了……
真是诡异啊!!!
一介布衣萧萧 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:
去掉gio相关驱动试试是否重启~估计不会是简单这个驱动引起的,比较设计内核里面很多打印消息都屏蔽掉了

我之前试了,将程序中操作IO的语句去掉就不会重启了,专门写个操作IO的测试程序,每隔一定时间(几十毫秒)便对其写数据,最终重启了。而且如果是两个线程操作同一个一个IO的话重启的时间比较快,但是如果一个线程操作一个的话则重启前运行的时间较长。不知道是什么原因啊?……
[/Quote]

两个线程对一个IO进行读写操作,这个有问题吧!为啥不搞成一个线程对IO进行读写操作,把对IO进行读写进行队列化,线程中根据队列中的任务进行IO操作,这样可以解决互斥的问题。
kuoshuang 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
去掉gio相关驱动试试是否重启~估计不会是简单这个驱动引起的,比较设计内核里面很多打印消息都屏蔽掉了
[/Quote]
我之前试了,将程序中操作IO的语句去掉就不会重启了,专门写个操作IO的测试程序,每隔一定时间(几十毫秒)便对其写数据,最终重启了。而且如果是两个线程操作同一个一个IO的话重启的时间比较快,但是如果一个线程操作一个的话则重启前运行的时间较长。不知道是什么原因啊?
AMOROUS 2012-08-15
  • 打赏
  • 举报
回复
去掉gio相关驱动试试是否重启~估计不会是简单这个驱动引起的,比较设计内核里面很多打印消息都屏蔽掉了
kuoshuang 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
引用 11 楼 的回复:

引用 10 楼 的回复:
去掉gio相关驱动试试是否重启~估计不会是简单这个驱动引起的,比较设计内核里面很多打印消息都屏蔽掉了

我之前试了,将程序中操作IO的语句去掉就不会重启了,专门写个操作IO的测试程序,每隔一定时间(几十毫秒)便对其写数据,最终重启了。而且如果是两个线程操作同一个一个IO的话重启的时间比较快,但是如果一个线程操作一个的话则重启前运行的时……
[/Quote]
但是一个线程的话也会重启啊,这个不存在互斥问题
kuoshuang 2012-08-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 6 楼 的回复:

那个驱动是GPIO驱动,我这几天试了下,不操作IO口就不会重启,后来专门写了个测试程序,只是循环的写IO口,测试后发现系统重启了。现在能确定是IO的问题,但是那个驱动是买开发板时带的,给厂家发邮件又一直不回。唉,深圳天漠科技啊,你的服务怎么就这么差啊!!!……


这个GPIO是初始化的时候在设置寄存器可能设置的不对,你如果有驱动的源码,就根据 芯片datash……
[/Quote]

我现在正在查,但是有一点我想不明白,为什么这个跟操作IO的时间有关系呢?同时操作4个的话四五个小时就重启了,两个的话十来个小时……
lansen0815 2012-08-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

那个驱动是GPIO驱动,我这几天试了下,不操作IO口就不会重启,后来专门写了个测试程序,只是循环的写IO口,测试后发现系统重启了。现在能确定是IO的问题,但是那个驱动是买开发板时带的,给厂家发邮件又一直不回。唉,深圳天漠科技啊,你的服务怎么就这么差啊!!!……
[/Quote]

这个GPIO是初始化的时候在设置寄存器可能设置的不对,你如果有驱动的源码,就根据 芯片datasheet 对着程序查找错误原因
kuoshuang 2012-08-10
  • 打赏
  • 举报
回复
那个驱动是GPIO驱动,我这几天试了下,不操作IO口就不会重启,后来专门写了个测试程序,只是循环的写IO口,测试后发现系统重启了。现在能确定是IO的问题,但是那个驱动是买开发板时带的,给厂家发邮件又一直不回。唉,深圳天漠科技啊,你的服务怎么就这么差啊!!!……
loongembedded 2012-08-09
  • 打赏
  • 举报
回复
是啊,这种情况,可以先把你GPIO驱动去掉,这个问题基本是你驱动问题导致的
kuoshuang 2012-08-02
  • 打赏
  • 举报
回复
哦,谢谢各位回答,我先试试吧。
zhengmeifu 2012-08-02
  • 打赏
  • 举报
回复
应该是你GIO_IOControl驱动问题。要不先不运行你应用程序,测测看是否会重启。
kuoshuang 2012-08-01
  • 打赏
  • 举报
回复
那个调试信息能正常用啊,我之前的一个访问越界的问题就是通过调试信息查出来的。而且+GIO_IOControl这个信息表示通信正常啊,为什么要卸载了?
gooogleman 2012-08-01
  • 打赏
  • 举报
回复
……+GIO_IOControl 把这个驱动卸载一下试试吧。不能我以为的啊

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧