一个键盘,插到电脑上,那么电脑是如何使用键盘的呢,它们两者之间是如何相互交互的呢。这个过程是需要驱动程序来实现的。
键盘插入电脑,引发一个中断,然后中断程序会检查设备,并将一个驱动程序与这个键盘设备进行绑定,当你按下一个按键,会触发键盘内的电子信号的传输(理解为电位1和0吧),并最终转换为数字信号(即0和1表示的),然后Linux系统中的驱动程序接收到了这个信号,根据这个信号来判断触发了哪个按键(这个中间,其实有很多工作,不过可以这样概括的理解),最终反馈到屏幕上。
看到了吗,驱动,就是一个可以和硬件通信(能够正确理解硬件发出的信号)的程序。
看到这,我想你应该明白了,你也可以为一个鼠标写一个驱动(前提是你了解这个鼠标的通信协议,即电位转换情况),然后你可以把鼠标左键点击的效果,更改成正常情况下,鼠标右键点击的效果。是不是挺有意思的。
另外,因为现在系统的日益成熟,现在Linux系统工作者很少有机会再写硬件驱动程序了,因为这些驱动,大多数硬件产商都会给做好了(因为Linux驱动接口封装的很好)。在移植到其它平台的时候,可能只需要简单的修改一下Linux的驱动,就可以用了。
(ps:望采纳)
开发linux驱动,首先,你要能编译linux内核。所以你可以在apple 笔记本上,安装VirtualBox,虚拟一个linux系统。
在虚拟的linux系统上,搭建linux内核开发环境。
然后,就参考什么LDD啊,内核情景代码分析之类的书,开始写驱动吧。
在淘宝买个几百块的ARM11开发板,从附带的光盘资料学习,是不错的方法。
硬件制造商,在研发硬件的时候,通常都是针对市面 *** 作系统占比开开发的,一般来说,linux驱动都是在硬件设备上市以后,第三方开发团队会针对新硬件出相应驱动,其实也没有差太多时间,唯一就是开发团队一个是研发芯片的同时,软件和驱动就一起研发了,一个是在硬件参数的基础上,开发驱动程序使得在linux下发挥出硬件的功效,即使你拿到的是最新的硬件,如果使用linux,也不需要等多久。比如inter出的网卡217,最开始我们使用的centos6.4,就无法识别,但是我们下载了6.9就可以,换到centOS 7 更没有问题。至于你的问题,联想品牌,联想品牌,实际上也是采购相应的硬件设备,结合到产品定位以及需要实现的功能研发的windows驱动,其实并没有差,唯一的点就是 *** 作系统占比。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)