免费注册 查看新帖 |

Chinaunix

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

Linux 一个按键中断的驱动问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-14 09:21 |只看该作者 |倒序浏览
我现在正在做一个按键的中断驱动,需要在按下一个键的时候,给原有的消息队列发送一个新的消息,然后让系统自己调度处理。
我现在有一个问题,进中断后,Linux是不是处于内核空间,这个时候还能够用消息队列吗?对于内核空间,用户空间,我一直都很晕乎~~ 各位大大有没有什么推荐的帖子或者书,我认真学习一下~~或者给我简明扼要的解释一下~~
还有,目前开发的平台是TI的DM365,有没有哪位大大也是在这上面做开发的,希望可以得到您的指导~~
我自学能力还可以~~,不会什么问题都问

非常感谢~

论坛徽章:
0
2 [报告]
发表于 2010-09-14 09:33 |只看该作者
本帖最后由 PCliangtao 于 2010-09-14 09:35 编辑

总不至于用msgsnd()来发送消息到消息队列吧... 内核根本就没有这个函数的吧... 所glibc提供的...
不过消息队列的底层好像是内核支持的... 你看看内核是否有提供这样的函数... 但是即使有..你怎么确定要发送的消息队列呢? 如何获取消息队列的键值...?  消息队列的键值是在用户态下获取的...
msgget().

论坛徽章:
0
3 [报告]
发表于 2010-09-14 09:56 |只看该作者
额~~ 果然是这样啊~~
我这个想法是从TI的原方案上得到的,原方案是一个网络摄像机,当远程端控制发生变化的时候,比如说调整焦距,旋转镜头时,这些都产生不同的消息,放到一个叫Alarm的消息队列里,我想,我这里的按键中断跟这个是差不多的,那TI是怎么实现的?
如果不行的话,应该怎么弄呢?
TI的方案流程图如图片所示~~

未命名.JPG (8.59 KB, 下载次数: 24)

未命名.JPG

论坛徽章:
0
4 [报告]
发表于 2010-09-14 15:05 |只看该作者
有没有哪位可以准确的告诉我一下啊
在中断程序中能不能使用类似msgsnd和msgget函数?

论坛徽章:
0
5 [报告]
发表于 2010-09-14 22:30 |只看该作者
没用过 也想知道

论坛徽章:
0
6 [报告]
发表于 2010-09-16 17:20 |只看该作者
呵呵. 若想在kernel mode实现消息的提交, 拿就得看source code, 看看libc是如何调用系统的消息提交的,
还有一个思路, 把按键传回应用层, 有应用层的程序负责消息的提交.

论坛徽章:
0
7 [报告]
发表于 2010-09-25 13:55 |只看该作者
把按键传回应用层是个什么意思呢?  能够详细解释一下吗?

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
8 [报告]
发表于 2010-09-26 23:54 |只看该作者
好象中断程序中能发netlink消息。可以通知被挂起的应用层
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP