免费注册 查看新帖 |

Chinaunix

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

[通信方式] 新手请教在驱动的中断中如何把数据通过网口发送出去? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-06 15:11 |只看该作者 |倒序浏览
小弟刚做linux驱动不久,现在遇到个困难请教下大家
在做一个视频编解码芯片的驱动(首先做成module来进行调试),通过中断从芯片寄存器取出处理过的视频数据通过网口发出去,一开始用socket()的一套东西,编译的时候发现这套东西原来是应用程序才能用的,所以此路不通,现在有两个思路:
1、看看内核中是否有一套类似socket的东西可以直接用(问题1所在
2、如果没有,则先在中断中将数据从内核态发往用户态(copy_to_usr),再做一个应用程序通过轮询去取这块数据发往网口。但copy_to_usr有三个参数,目的地址(用户态内存地址),源地址,数据长度。这个目的地址应该怎么设置,直接设置立即数么,在系统跑起来后,我怎么知道这块地址区间不会被其他应用程序使用。

我知道大家都很忙,所以请大家如果知道该怎么做,不用多费口舌,指一条明路给小弟,具体的实现小弟可以自己去查,小弟在这里拜谢各位了~~

论坛徽章:
0
2 [报告]
发表于 2012-11-06 21:21 |只看该作者
回复 1# arthasud


   直接封个udp头发出去得了.

论坛徽章:
0
3 [报告]
发表于 2012-11-07 09:06 |只看该作者
回复 2# oscarvei


    你的意思是用<sys/socket.h>里的这套socket的api么,这些只能在系统起来以后系统封装给应用程序里调用,在内核编译模块的时候这个头文件是找不到的。
   我的意思是有没有这么一套类似socket的在内核模块编译的时候能够调用的?
   谢谢你的回答~

论坛徽章:
0
4 [报告]
发表于 2012-11-13 14:01 |只看该作者
内核中没有应用层的socket API,在内核中直接构造数据包就可以。回复 1# arthasud


   

论坛徽章:
0
5 [报告]
发表于 2012-11-13 15:31 |只看该作者
1.将数据从中断中传给用户进程
2.用户进程调用socket发送

论坛徽章:
0
6 [报告]
发表于 2012-11-14 09:56 |只看该作者
这个用应用层去做就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP