linux新手关于嵌入式linux设备驱动程序的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux新手关于嵌入式linux设备驱动程序的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含992字,纯文字阅读大概需要2分钟。
内容图文
![linux新手关于嵌入式linux设备驱动程序的问题](/upload/InfoBanner/zyjiaocheng/961/5079feae0680423dbfd837d9015be4b8.jpg)
我最近一直在研究linux驱动程序,
正如我读过的那些文章所说,设备驱动程序模块可能会被内核按需自动加载,因此我想知道内核如何确定为特定设备加载哪个模块(声卡,I2C / spi设备,等),我也无法想象内核在启动时如何检测每个硬件设备.
有关嵌入式Linux的答案是首选,PC linux也欢迎!
3Q
解决方法:
我认为你正在混合两种不同的东西,即硬件检测和按需模块加载.
在某些情况下,内核明确地执行模块请求.但是,在大多数情况下,内核本身不会执行任何“按需加载”.
但等等,你必须弄错,如果我插上我闪亮的新网络摄像头,不是
模块是否自动加载?
是的,但不是内核.所有内核都调用一个用户空间程序,所谓的“hotplug event”或“uevent”作为参数.在Linux PC上,此用户空间程序通常是udev,但在嵌入式系统上,您可以使用例如mdev.您可以找到更详细的说明here和here
关于问题的第二部分,只有硬件可被发现时,内核才会进行硬件发现.可发现硬件的示例是USB和PCI.不可发现的harwdare总线的示例是SPI或I2C.
在后一种情况下,给定总线上特定设备的存在要么直接在内核中编码,要么由booloader给予他.谷歌以“设备树”为后者的一个例子.
总结一下:硬件检测由内核完成,模块加载由用户空间完成,内核提供信息.
内容总结
以上是互联网集市为您收集整理的linux新手关于嵌入式linux设备驱动程序的问题全部内容,希望文章能够帮你解决linux新手关于嵌入式linux设备驱动程序的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。