【嵌入式系统概述】学习笔记一

1.1嵌入式系统定义

1.1.1学习内容

                  嵌入式系统原理与开发               
                          |
      系统概述--硬件开发-------软件程序设计--开发工具
                  |               |
           处理器--外围硬件 操作系统--系统设计

1.1.2嵌入式系统的定义

IEEE(国际电气和电子工程师协会)定义:Device used to be control, monitor, or assist the operation of equipment, machinery or plants.

目前被大多数人所接受的定义:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

1.2嵌入式系统特点

  1. 专用的计算机系统
    嵌入式系统通常面向特定任务,是专用的计算机系统
    -形式多样
    -对运行环境的依赖性
    -成本、资源、功耗、体积
    -软硬件紧密结合,高效设计
  2. 代码固化
    嵌入式系统的目标代码通常固化在非易失性存储器中,如:Flash、ROM、EPROM、EEPROM等。
    原因:系统资源受限;提高系统执行速度和系统可靠性。
  3. 实时性要求
    嵌入式系统大多有实时性要求,根据系统对实时性的要求强度不同,可分为硬实时系统和软实时系统。
  4. 可靠性要求
    嵌入式系统一般要求具有出错处理和自动复位功能,特别是对于运行在极端环境下和重要场合的嵌入式系统而言。在嵌入式系统设计中使用一些硬件和软件机制来保障系统的可靠性。
  5. 通常需要操作系统的支持
    嵌入式软件可以在没有操作系统支持的情况下设计,但是随着系统功能的复杂程度和性能要求的进一步提高,必须使用嵌入式操作系统平台开发软件。
  6. 专门的开发环境和方法
    嵌入式系统的开发过程一般分为以下几个过程
    -系统定义
    -软件与硬件设计与实现
    -软硬件集成
    -系统测试
    -性能评估等
  7. 知识集成系统
    嵌入式系统是将先进的计算机技术、半导体技术、电子技术、通信网络技术以及各个应用领域的专用技术相结合的产物。这一特点决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

1.3嵌入式分层结构及分类

1.3.1嵌入式系统的分层结构

嵌入式系统的核心计算系统可以抽象出一个典型的组成模型:硬件层、中间层、软件层和功能层。
【嵌入式系统概述】学习笔记一_第1张图片

  1. 硬件层
    由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O接口(D/A、A/D、通信I/O等)以及电源等组成。
    嵌入式系统的硬件层以嵌入式微处理器为核心。
  2. 中间层
    硬件层与软件层之间为中间层,它把系统软件与通信硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。
    中间层一般包括:硬件抽象层、板级支持包。
  3. 软件层
    软件层由实时操作系统(Real Time Operating System、RTOS)、文件系统、图形用户接口(Graphical User Interfaces、CUI)、网络系统及通用组件模板组成。
    RTOS是嵌入式应用软件的基础和开发平台。
  4. 功能层
    功能层由基于RTOS开发的应用程序组成,用来完成实际所需的应用功能。功能层是面向被控对象和用户的,当需要用户操作时往往需要提供一个友好的人机界面。

1.3.2嵌入式系统的分类

嵌入式系统可按照嵌入式微处理器的位数、实时性、软件结构以及应用领域等进行分类。

  1. 按嵌入式微处理器的字长位数分类

    可分为4位、8位、16位、32位和64位。其中4位、8位、16位嵌入式系统已经获得大量应用。32位嵌入式系统正成为主流发展趋势。一些高度复杂和要求高速处理的嵌入式系统已经开始使用64位嵌入式微处理器。

  2. 按照实时性分类

    实时系统是指,系统执行的正确性不仅取决于计算的逻辑结果,还取决于结果产生的时间。
    根据嵌入式系统是否具有实时性,可将其分为嵌入式实时系统嵌入式非实时系统
    根据实时性的强弱,可进一步分为硬实时系统软实时系统

  3. 按照嵌入式软件结构分类

    可分为循环轮询系统前后台系统多任务系统

循环轮询系统(polling loop):是最简单的软件结构,程序依次检查系统的每个输入条件,如果成立就执行相应处理。
【嵌入式系统概述】学习笔记一_第2张图片
示意代码如下:

initialize()
while(true)
{
  if (condition_1) action_1()
  if (condition_2) action_2()
  ......
  if (condition_n) action_n()
}

前后台系统(foreground/background):属于中断驱动机制,后台程序是一个无限循环,通过调用函数实现相应操作,又称任务级。前台程序是中断处理程序,用来处理异步事件,又称中断级。设计前后台的目的主要是为了将时间性很强的关键操作(critical operation)通过中断服务来保证。
【嵌入式系统概述】学习笔记一_第3张图片
多任务系统:对于较复杂的嵌入式系统而言,存在许多互不相关的过程需要计算机同时处理,这就需要采用多任务(multitasking)系统。采用多任务结构设计软件有利于降低系统的复杂度、保证系统的实时性和可维护性。
多任务系统的软件由多个任务、多个中断服务程序以及嵌入式操作系统组成。
【嵌入式系统概述】学习笔记一_第4张图片
多任务系统的特点
(1)每个任务都是一个无限循环的程序,等待特定的输入,从而执行相应的处理。
(2)这种程序模型将系统分为相对简单、相互合作的模块。
(3)不同的人物共享同一个CPU和其他硬件,嵌入式操作系统对这些共享资源进行管理。
(4)多个顺序执行的任务在宏观上看并行执行,每个任务都运行在自己独立的CPU上。
【嵌入式系统概述】学习笔记一_第5张图片

1.4嵌入式应用、将来发展

1.4.1嵌入式系统的应用领域

信息家电 智能玩具 通信设备 移动存贮 电子商务 网络设备 智能仪表 工控设备等

1.4.2嵌入式系统的发展趋势

  1. 发展行业性的嵌入式硬件平台,制定行业标准。
  2. SoC将成为应用主流。
  3. 发展功能更加强大的开发工具和嵌入式操作系统,支持复杂度越来越高的嵌入式应用软件的开发。
  4. 面向网络互联的嵌入式系统成为必然趋势。

你可能感兴趣的:(嵌入式学习)