嵌入式Linux专题(一)——嵌入式Linux系统构成及启动流程

2019-07-12 17:26发布

一、什么是嵌入式系统

嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。【以上定义来自于百度百科】
嵌入式是系统一般具有可靠性高、成本低、体积小、功耗低的特点,同时具备计算机系统的三个基本要素:
  • 嵌入性:嵌入到对象系统中,满足对象系统的环境要求;
  • 专用型:嵌入式系统的软硬件可裁剪,可满足对象系统要去的最小软硬件配置;
  • 计算机系统:嵌入式系统必须满足对象系统控制要求的计算机系统。

二、嵌入式Linux系统结构

嵌入式Linux系统结构
由图可知,嵌入式Linux系统分为应用层、内核层和硬件层。
  • 应用层:是面向用户的,包含一些应用程序和库等;
  • 内核层:主要功能是设备驱动、进程管理、内存管理、文件系统和网络通信;
  • 硬件层:由微处理器、存储器、输入输出设备、通信与扩展接口构成。以信号为对象,完成各种信号之间的相互转换,通常信号变换前后其承载的信息保持不变,因此,无论如何变换,信号之间总是存在某种函数关系。

三、 启动流程

一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(bootloader), Linux 内核,文件系统,应用程序。其启动流程内如下图所示: Created with Raphaël 2.2.0硬件上电MCU跳到reset中断向量处执行加载并执行BootLoader代码BootLoader加载Linux内核代码执行Linux内核代码执行第一个用户控件程序
  • BootLoader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。
  • Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。
  • 根文件系统是 Linux 系统的核心组成部分,它可以做为Linux 系统中文件和数据的存储区域,通常它还包括系统配置文件和运行应用软件所需要的库。
  • 应用程序可以说是嵌入式系统的“灵魂”,它所实现的功能通常就是设计该嵌入式系统所要达到的目标。如果没有应用程序的支持,任何硬件上设计精良的嵌入式系统都没有实用意义。
    嵌入式Linux专题(二)——嵌入式Linux系统启动流程详述