关于“底层驱动”的理解问题?

关于“底层驱动”的理解问题?,第1张

一本理解为直接慧前 *** 作硬件的内核模块代绝基码,差不多就是你说的那个意思。

底层驱动程序就是:利用iic总线的时序写入和读前宏清出数据,并封装成函数,按特定的结构要求组成内核模块代码(.c文件)。

应用程序就是:按特定的方式调用上面的驱动程序,完成iic设备的读写。

驱动程序与硬件相关,编写驱动程序要非常了解硬件,同时给应用层提供API函数接口,应用层可以调用这些接口去访问硬件而不必了解硬件.

应用程灶伏如序是根据实际应用去编写.

比如说隐启你有一个应用是控制每天早上六点钟开灯.应用程序只负责在适当的时间做适当的事(到六厅喊点了,我要开灯了,按下按键)具体它不知道为什么按下键就能开灯,因为按下键后开灯的事情就是驱动程序完成了.

一点浅显理解,我毕竟不是搞内核的,所以可能一些东西说的不专业或不对。

我们知道,要通过驱动程序才能和硬件打交道,比如视频驱动程序等;但不同品牌的硬件, *** 作会有不同,比如同样是袭团写数据 *** 作,对于不同的磁盘喊汪硬件,调用的指令可能都会有差别。

这怎么办呢?难道针对每个硬件品牌,都需要专门编写单独的驱动么?这个投入就很大,而且对于编程人员来说,也需要投入很多。

所以微软提出硬件抽象层的概念,这个层放在驱动和硬件之间。比如驱动程序要写一个数据,驱动就把这个请求给硬件抽象层,硬件抽象层在根据不同硬件,来执行相应的硬件能够执行的指令。

你在系统安装时候,安装程序会探测本机的硬件配置,并选择合适的硬件抽象层文件。

比如你在安装系统之后,cpu由1核换成双核的,则系统可能就不能启动,而需要重新安装,因为拍渗橘以前的硬件抽象层文件已经不能适合现有配置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12567770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存