一、嵌入式LINUX底层系统主要包括引导加载程序、LINUX内核、设备驱动程序以及文件系统4部分。1、引导加载程序包括固化在固件(firmware)中的boot代码(可选)和BootLoader两部分。
2、LINUX内核特定于嵌入式板子的定制内核以及内核启动参数。
3、设备驱动程序设备驱动的作用是将各种设备硬件的复杂物理特性的细节屏蔽,向上提供一个通用的接口,挂接到虚拟文件系统上,向下和硬件设备进行交互。驱动程序是系统软件和硬件外设之间的一个抽象层,在系统中的功能如下图所示。
4、文件系统包括根文件系统和建立于Flash内存设备之上的文件系统。通常用ramdisk作为rootfs。
二、举例通俗易懂的理解这4大部分。1、对于PC来说,按下开机键后,BIOS程序对PC进行一些自检,然后从硬盘中读入WINDOS操作系统,并运行WINDOWS操作系统,因为PC中安装的软件较多,故启动较慢。对于嵌入式系统来说,电路板通电后,Bootloader程序从Flash中读入LINUX内核,并运行LINUX操作系统。嵌入式资源较少,故启动较快。2、启动电脑后,我们需要上网聊天、看视频、写代码、写文档等,这些软件都安装在C/D/E/F等硬盘中,所以WINDOWS需要能够识别出上述所有硬盘。在LINUX中,我们需要调用不同的资源完成不同的任务,这些资源存储在LINUX的根文件系统下(类似于硬盘)。3、WINDOWS能够识别硬盘还不行,必须能够具备读写硬盘的功能,即驱动程序。嵌入式LINUX能够从Flash中读取并执行应用程序,也必须有FLASH的驱动程序。