免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3326 | 回复: 7
打印 上一主题 下一主题

嵌入式板子,跑程序卡死 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-12 14:25 |只看该作者 |倒序浏览
自己画了块嵌入式板子,跑的uclinux,也写了一个驱动和一个应用,应用调用驱动,然后处理驱动接口获得的数据。
最近板子发现个怪问题,板子跑着跑着,串口(调试口,负责printf)直接失去相应(按ctrl+c也没反应,正常情况是程序退出到终端控制台),感觉就是板子跑飞了。我想请问一下大家,通常如果是程序错误,应该不是没反应而是出现oops吧,那我这个可能是什么原因呢?我倒是怀疑是电源不稳的原因,但因为手上没有第二块电源无法肯定。还有,如果是我驱动里调用自旋锁出现死锁的情况,那按下ctrl+c后能正常退出不?还有哪位兄弟知道相应情况,有什么相应的信息需要提供的我也可以提供,希望大家互相讨论下~~谢谢

论坛徽章:
0
2 [报告]
发表于 2008-08-12 14:50 |只看该作者

回复 #1 hijohnny 的帖子

有两种情况,1、串口没有输出,按Ctrl+C没有反应。2、串口还有数据输出按Ctrl+C没有反应。你是哪一种?

论坛徽章:
0
3 [报告]
发表于 2008-08-12 15:00 |只看该作者
我的是第一种,串口已经无任何输出了,然后按ctrl+c无反应

[ 本帖最后由 hijohnny 于 2008-8-12 15:02 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-08-12 15:30 |只看该作者

回复 #3 hijohnny 的帖子

你的程序有问题,说不定是驱动,也有可能是应用。自己调试一下,就可以了。

论坛徽章:
0
5 [报告]
发表于 2008-08-12 17:12 |只看该作者
发现了,果然是一处因为抢占导致的自旋锁造成死锁,问题已解决,多谢楼上的兄弟。

论坛徽章:
0
6 [报告]
发表于 2008-08-12 17:55 |只看该作者

回复 #5 hijohnny 的帖子

在多进程和多线程开发的时候,大多是因为死锁引起的。还要注意阻塞也会引起。

论坛徽章:
0
7 [报告]
发表于 2008-08-12 19:14 |只看该作者

回复 #6 rodgerluo 的帖子

恩,这个书上倒是看得很多,但自己遇到的时候,还是一下反应不过来。还有点想请问,驱动里的read函数如果调用了wait_event()阻塞,中断函数中用wake_up唤醒,再阻塞的过程中遇到sigio信号会发生什么呢?我知道wait_event_interruptble()遇到这个信号会中断阻塞,不知道wait_event是否还会如此,或者是忽略信号继续阻塞?

论坛徽章:
0
8 [报告]
发表于 2008-08-13 08:56 |只看该作者

回复 #7 hijohnny 的帖子

我认为不会!呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP