您现在的位置: 爱51代码网 >> 范文 >> 文章正文
linux设备文件节点每次都需要手动创建吗?怎么让多个应用程序使用同一个驱动

linux设备文件节点每次都需要手动创建吗?怎么让多个应用程序使用同一个驱动

1.对于设备文件节点,驱动,应用程序之间的关系还是挺模糊。我现在做的流程是挂载驱动程序,根据设备号创建设备文件节点,然后运行该可执行文件,也就是测试程序比如./led_test。
2.现在我想这样不知怎么做。我让他自动挂载驱动程序,然后自动创建文件节点,有多个应用程序调用这个驱动程序。也就是说多个应用程序怎么和驱动、设备文件节点对应,怎么来自动创建设备文件节点。他们之间的通过什么联系起来,又怎么区分开的。 现在的内核都可以自动创建节点了,你看看device_create这个函数。
自动加载驱动的话,你得在开机启动的时候加入相关语句。
节点和驱动是通过设备id来对应的,应用程序和设备节点是通过open设备文件来建立联系的。

哎 确实概念模糊。同上,设备节点是在系统起来的时候自动创建的,系统会利用hotplug、udev、 mdev等程序建立各个驱动的节点。当然,你也可以手动创建用mknod。

应用程序,没有调用驱动程序这种概念,请区分开user space和kernel space,应用程序充其量只是将数据copy到kernel里面给对应的驱动去处理,然后内核驱动处理完之后将结果再copy到应用程序,这些通过节点。

当然像你这LED之类的东西,应该是通过GPIO或者寄存器之类的来操作的。

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    undefined reference timer_crea
    Failed to open eth0
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    help ubuntu下sqlite的C API
    help ubuntu下sqlite的C API
    linux下C++文件怎么调用so文
    telnet 执行远端脚本,脚本含
    如何使用正则表达式搜索属于
    socket TCP连接好后客户端读
    shell如何解析xml
    linux如何通过进程查端口命令
    Solaris上如何查看进程占用端
    linux c 如何永久SLEEP 让进
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |