驱动、固件
来源:互联网 发布:c语言编译程序的软件 编辑:程序博客网 时间:2024/05/01 21:58
固件(Firmware)就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。固件担任着一个系统最基础最底层工作的软件。在硬件设备中,固件就是硬件设备的灵魂,
驱动和固件(firmware)都是代码,前者为软件服务,后者为硬件服务。
在操作系统概念还不明确的时代,二者是没有明显区别的。
但是随着计算机体系结构的发展,硬件的种类开始变多,操作系统的种类也变多了。
这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的软件厂商使用,所以就需要在硬件之上做一些封装,让自己的硬件操纵起来更容易,这个时候就要有firmware这种东西了,它简化了软件与硬件的交互。
但是为什么不把fimware做的很完美,做的不需要驱动支持呢?因为有不同的操作系统。
不同的操作系统,对于操作硬件的方式完全不同,在Windows里应用态是无法直接写IO端口的,而在嵌入式系统里,一般都不限制直接操作IO端口。所以,硬件厂商一方面为了自己的硬件能被软件更简单的使用,就需要写firmware,而另一方面为了兼容各种操作系统,又不能把firmware写的太死,必须预留足够的余地让软件自由发挥——软件的自由发挥就是驱动。
不同操作系统的驱动是不能兼容的,原因就是驱动是为操作系统服务的,有的操作系统是单线程的,有些操作系统不允许动态申请内存,所以不同的操作系统要操作硬件,就要根据自身的特性编写对应的操作代码,这就是驱动存在的意义——适应系统需要。
假如世界上只有一种操作系统,并且版本永远不会改变,那么firmware和驱动就可以融合在一起,但这只能一个不现实的梦想,要知道民用操作系统和工业控制操作系统差别是十分巨大的。
驱动和固件(firmware)都是代码,前者为软件服务,后者为硬件服务。
在操作系统概念还不明确的时代,二者是没有明显区别的。
但是随着计算机体系结构的发展,硬件的种类开始变多,操作系统的种类也变多了。
这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的软件厂商使用,所以就需要在硬件之上做一些封装,让自己的硬件操纵起来更容易,这个时候就要有firmware这种东西了,它简化了软件与硬件的交互。
但是为什么不把fimware做的很完美,做的不需要驱动支持呢?因为有不同的操作系统。
不同的操作系统,对于操作硬件的方式完全不同,在Windows里应用态是无法直接写IO端口的,而在嵌入式系统里,一般都不限制直接操作IO端口。所以,硬件厂商一方面为了自己的硬件能被软件更简单的使用,就需要写firmware,而另一方面为了兼容各种操作系统,又不能把firmware写的太死,必须预留足够的余地让软件自由发挥——软件的自由发挥就是驱动。
不同操作系统的驱动是不能兼容的,原因就是驱动是为操作系统服务的,有的操作系统是单线程的,有些操作系统不允许动态申请内存,所以不同的操作系统要操作硬件,就要根据自身的特性编写对应的操作代码,这就是驱动存在的意义——适应系统需要。
假如世界上只有一种操作系统,并且版本永远不会改变,那么firmware和驱动就可以融合在一起,但这只能一个不现实的梦想,要知道民用操作系统和工业控制操作系统差别是十分巨大的。
1 0
- usb固件驱动驱动
- 设备驱动&&固件“驱动”
- 固件与驱动
- 驱动、固件
- 驱动固件区别
- USB固件编程与驱动开发
- 电容触摸按键固件驱动
- Linux 内核驱动固件加载方式
- Linux 设备驱动的固件加载
- linux驱动中触屏ic固件升级
- Linux 设备驱动的固件加载
- 驱动和固件的区别
- 驱动与固件的区别
- VMware导致平板电脑固件升级时驱动失败
- Labview+USB+FPGA数据采集之USB固件&驱动
- linux固件以及与驱动的区别
- Pixhawk原生固件PX4之驱动ID
- Pixhawk原生固件PX4之SPI驱动注册过程
- Windows中mysql数据库中文乱码永久解决方法
- dip2px 和 px2dip +0.5f是什么鬼?
- 基于InstallShield2013LimitedEdition的安装包制作
- 点击linearLayout,拨打手机系统电话
- springMVC-主题
- 驱动、固件
- adapter
- Android进阶图片处理内存优化系列之图片墙案例
- Java miscellany
- 正则表达式学习笔记
- zookeeper 数据存储特点
- 为什么使用LinkedList时如果用addFirst方法,不能继承父类collection接口
- freeswitch被叫忙处理
- pdf图片转换成jpg格式的方法