Bootstrap

芯片组件->固件(驱动与应用软件)->BSP->内核驱动

一、固件

每个硬件都有一个固件。

https://iask.sina.com.cn/b/1SSPgMkIAk35.html 是不是电脑每个硬件都有一个主控芯片存放固件信息?顾名思义是不是存放固件系统的硬件是不是叫做主控芯片?

固件是存储在非易失存储器(如ROM、EPROM、E2PROM或FLASH)上的软件。在设备硬件自身中执行的底层软件。通过固件,标准驱动程序才能实现特定机器的操作。

固件其他定义:下载到FPGA且需要烧录的代码,运行在微处理器上的微代码。

固件组成:操作系统(OS)、设备驱动程序及应用程序代码等。

每块芯片上的组件都有一个驱动程序。该图中有一个固件和一块芯片。该芯片包含数个组件,而固件也包含数个应用程序及设备驱动程序。

用上图来描述激光打印机是如何打印一页的:

1.假设组件A是USB组件,它负责接收来自打印任务的数据包。

2.驱动程序A读取来自组件A的接收数据包,并将它们交给应用程序A。

3.应用程序A组装所有的数据包,并且等到接收足够一页的数据包时,将数据提交给另一个应用程序,如调用光栅应用程序、数据压缩应用程序等的打印任务解释器。

4.最终应用程序B得到光栅数据,并提交给驱动程序B,而驱动程序B再配置组件B的寄存器,并用这些数据来控制激光。

上图所示的固件架构只是一种可能的情况,下图给出了另一种可能的架构。

https://blog.51cto.com/zhaoyuejin/1243994 固件与驱动的区别

设备上

;