当前位置:  技术问答>linux和unix

一直困扰的问题。倾囊请教

    来源: 互联网  发布时间:2016-03-05

    本文导语:  最近一直在研究linux下的蓝牙驱动。我用的是Red Hat 9.0内核是2.4.20-8。在网上了许多相关资料。按照步骤一步一步的做成功了。但有许多问题弄不清楚。请高手指点一二。 资料说要安装蓝牙协议栈。bluez-libs,bluez-utils,...

最近一直在研究linux下的蓝牙驱动。我用的是Red Hat 9.0内核是2.4.20-8。在网上了许多相关资料。按照步骤一步一步的做成功了。但有许多问题弄不清楚。请高手指点一二。

资料说要安装蓝牙协议栈。bluez-libs,bluez-utils,bluez-sdp等等都安装上了。也有了类似hciconfig,hcitool,sdptool等的命令可以执行(安装之前没有这些命令)。有装了obex等进行测试,可以和手机之间互相传输数据。

费解的地方:
安装了蓝牙协议栈,那蓝牙驱动是怎么装上的?内核代码中就存在吗?
协议栈和驱动有什么区别呢?2.4.18的内核和2.4.20-8的在这方面又有什么区别呢?

|
驱动是将不同的外设统一成一致的访问接口,比如不管是内存还是打印机还是硬盘还是文件,在应用层都可以看成文件。

协议栈就不同了,转一个

1:函数调用。协议栈各层之间通过函数调用来传递数据包和相关的数据结构。linux和bsd等开源系统采用这种方法。
2:消息传递。也就是基于流消息的协议栈构建方法。各层直接通过传递事件或消息来传递数据包和相关的数据结构。据说solaris和windows等商业操作系统采用这种方法。
3:包队列。各层直接通过包队列(queue)来连接,各层都实现为独立的进程或线程,通过轮询来收发数据包。线程主动去收发包,而不是通过事件来通知。有些系统的某些模块会采用这种方法。

协议栈是一个分层的软件,如果划分层次并定义层之间的接口是最重要的工作。如果每一层都可以定义成一个独立的活动实体,这样就可以把协议栈软件分布到不同的处理器上运行。但是,如何使协议栈软件能够并行运行,是一个难题。


|
linux的内核配置中有蓝牙的驱动的,但是默认是否是active的状态我记不清楚了,楼主可以像重新编译内核那样make config一下试试看,

只是调出来内核配置界面看看,不是真的编译,应该能看到BlueTooth的那个module...

|
首先要搞清楚蓝牙驱动和蓝牙设备就如同USB驱动和USB设备, 蓝牙驱动和USB驱动一样已经被标准话了, 蓝牙和USB都是一种总线技术, 就像PCI总线, 大家都没关心吧, 所以关键是蓝牙设备的驱动, 因为蓝牙设备并不是直接连接在主设备上的, 所以类似于设备中断与地址就无效了, 取而代之的就是总线协议. 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个初级,但可能困扰够很多人的问题
  • 高手请进!如何设置我的Lilo?长久困扰我的问题!
  • Socket 通讯的问题,困扰了我很久。
  • 简单的问题,困扰我很久?
  • 问一个一直困扰我的问题:JBuilder中的JSP页面怎么设计???????????
  • 一个困扰了一星期的简单问题!
  • 这个问题困扰我很久了
  • 关于svgalib的问题,困扰好久了嗄~~~帮忙嗄
  • svn使用的问题,困扰一天了
  • 小问题困扰一晚上,求前辈指点!
  • 菜鸟的困扰
  • @@@困扰我很久的问题。。。。。。
  • 文件更名问题,困扰中
  • 这个问题困扰了我好几天了,谢谢
  • 高手留步!!!一个简单但困扰我的问题0
  • 一个困扰我的老问题
  • 如何覆盖一个已有的软链接,简单问题困扰很长时间,解决马上给分?
  • 在线等,知道的指点下小弟,这个问题困扰我太久了。
  • 困扰我多时的问题,大家来帮忙
  • jdbc可更新数据集问题,困扰我两日!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3