Linux中的固件和驱动程序

foo*_*o_l 6 linux firmware linux-device-driver linux-kernel

根据我的理解,固件控制硬件,驱动程序与固件交互以控制硬件.那是对的吗?

在Linux中,与固件交互的API或功能是什么?固件代码是否独立于任何操作系统(例如Linux或Windows)?

jho*_*ash 8

固件是在设备上运行的软件.驱动程序是告诉操作系统如何与设备通信的软件.具有固件的所有设备通常被编程到设备中(具有ROM芯片或可编程ROM芯片),但是存在一些设备,其中固件在初始化时被加载到设备中.每个设备都没有frimware.

  1. 技术上更"固件是上传到硬件设备本身的微处理器或可编程逻辑的软件.使用固件的硬件示例是HP打印机,它在加电时从USB端口接收代码,无线网络接口在启动时上传固件up,可以从互联网上更新自己的路由器......一般来说,将固件上传到设备的能力是有利的.它允许在初始销售后添加产品改进.这包括修复产品中的错误,响应安全问题,或响应监管环境的变化;示例:FCC开放或限制允许的带宽,功耗,安全性."
  2. 概述:驱动程序是与硬件通信的内核模块; 固件是在与驱动程序通信的硬件上运行的软件.