1、简单理解:
首先要对操作系统有个概念,从低级系统(前后台系统)到高级系统(进程式系统)的发展是模块化的过程。系统的不同功能由不同模块来实现。
驱动:它是实现高级应用和底层硬件操作的中间模块。
在高级系统(如Windows)很明显,可以用安装包来安装。而在低级系统里可能它只是一个函数,嵌入式开发里常见。
固件:可以认为就是操作系统,或者是操作系统+必要的应用程序。
最平常的就是把android和ios都叫做固件(刷固件,升级固件)。
人们把嵌入式系统的安装叫做刷固件,把pc和pc以上的硬件叫安装系统。
为什么会有这样的叫法,我觉得
1,嵌入式很多系统很低级,有些甚至不超过百行代码,在操作系统归类中,有些都不认为它是操作系统。
2,嵌入式系统安装后基本不会再进行软件层面的修改,是稳固的。
ps:电脑可以认为是一个高级系统和多个低级系统携手操作硬件的机器。像网卡、声卡、usb等的主控制器都有操作系统(固件)来控制完成其所需要完成的工作
固件就是刷机用的bin文件,驱动就是沟通内核和硬件寄存器的部分代码模块。
做个小结:
固件是指写进硬件的代码,目的是为了让硬件工作;
驱动是告诉os硬件的存在以及调用硬件的入口在哪里。这样也就能解释为什么驱动要有这么多了,因为要根据os不同而改变啊。
例子:我们想打印一张图。
驱动告诉打印机,要打印什么。
固件告诉打印机,要怎么打印(把纸弄上打印区,然后喷墨等。。。)。