type
status
date
slug
summary
tags
category
icon
password

1.1 嵌入式系统简介

1.1.1 嵌入式系统定义

1.1.1.1 嵌入式系统定义

  • 通常的定义:嵌入式系统是以应用为中心以计算机技术为基础,软硬件可剪裁,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
  • 通俗的定义:嵌入到对象体系中的专用计算机系统。
  • 从上面的定义可以总结出嵌入式系统的三个基本要素:嵌入性专用性计算机系统

1.1.1.2 对嵌入式系统的理解

或者说是嵌入式系统的特点
  • 嵌入式系统是面向用户、面向产品、面向应用的;
  • 嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合的产物;
  • 嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。嵌入式系统核心就定制硬、软件。
凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统。

1.1.2 嵌入式系统的组成

1.1.2.1 硬件部分(**)

  • 硬件部分是整个系统的物理基础,它提供软件运行平台和通信接口
  • 硬件组成:嵌入式系统的硬件包括核心处理器外围电路外部设备三部分:
      notion image
      下面逐个介绍
    • 核心处理器:嵌入式系统的硬件层的核心是嵌入式微处理器。
      • 处理器的体系结构:嵌入式微处理器可以采用冯.诺依曼体系结构哈佛体系结构
        • 冯.诺依曼体系结构:冯.诺依曼结构也称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。这就使得冯诺依曼体系结构处理器单次取指令长度和取数据的长度相同(因为是在同一个存储器中)。
          • 使用冯.诺依曼体系结构的ARM处理器:ARM7
          • 冯诺依曼体系结构示例图:
            • notion image
        • 哈佛体系结构:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。这就使得指令和数据可以有不同的数据宽度(因为在不同的存储器中)。
          • 使用哈佛体系结构的ARM处理器:ARM9内部结构是哈佛结构(即处理器内核是哈佛结构)芯片整体看是冯.诺依曼结构
          • 哈佛体系结构示例图:
            • notion image
      • 处理器的指令系统:指令系统可以采用精简指令集系统复杂指令集系统
        • 精简指令集系统(Reduced Instruction Set Computer)
          • 8/2原则:80%的程序只使用20%的指令。
          • 只包含最有用的指令。
          • 确保数据通道快速执行每一条指令。
          • 使CPU硬件结构设计变得更为简单
        • 复杂指令集系统(Complex Instruction Set Computer)
          • 具有大量的指令和寻址方式。
          • 大多数程序只使用少量的指令就能够运行。
        • RISC 和 CISC 之间主要的差别
          • notion image
    • 外围电路:外围电路包括嵌入式系统的存储器、I/O端口、复位电路、模数转换器/数模转换器(ADC/DAC)和 电源(这里的存储器指的是处理器拥有的存储器,就是片内RAM、ROM)
    • 外部设备:外部设备指嵌入式系统与真实环境交互的各种设备,包括:通用串行总线(USB)、存储设备、键盘、鼠标、液晶显示器(LCD)、红外数据传输(IrDA) 和 打印设备等。

1.1.2.2 软件部分

  • 软件部分实际控制系统的运行
  • 软件组成:由嵌入式操作系统嵌入式应用软件两大部分组成
  • 软件层次:嵌入式系统软件一般包含四个层面
    • 应用程序
    • 应用程序接口API
    • 实时操作系统RTOS
    • 硬件抽象层(HAL)
  • 即:
    • notion image
疑问不太明白这个组成和层次有什么区别,不都是软件能分成什么样吗

1.1.2.3 两种嵌入式系统结构模型

notion image

1.1.3 嵌入式系统的特点(*)

  • 嵌入式系统的特点(相较于通用计算机)
    • 专用性强
    • 强调实时性
    • 具备可裁剪性
    • 可靠性要求高
    • 功耗低
    • 嵌入式系统开发需要开发工具和开发环境
  • 嵌入式微处理器的特点
    • 对实时多任务有很强的支持能力。
    • 具有功能很强的存储区保护功能。
    • 可扩展的处理器结构。
    • 嵌入式微处理器功耗低。

1.1.4 嵌入式系统的分类

  • 按照处理器位数划分:4位、8位、16位、32位、64位嵌入式系统
  • 按实时性划分(需要注意的是这里其实已经包上了嵌入式操作系统,因为嵌入式系统就包括了EOS)
    • 非实时系统(PDA)
    • 软实时系统(常用于电子消费类产品)
    • 硬实时系统(常用于数控、航空航天等工业和军工系统)
  • 按软件结构划分
    • 循环轮询系统
    • 后台系统
    • 单处理器多任务系统
    • 多处理器多任务系统
  • 按应用划分:通信类、信息家电类、移动终端类、汽车电子类、工业控制类

1.1.5 嵌入式系统的应用

嵌入式应用领域主要包括以下方面:工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境工程与自然、机器人。

1.2 嵌入式处理器

1.2.1 嵌入式处理器简介

主要是介绍当前的嵌入式处理器的相关背景
目前具有嵌入式功能特点的处理器已有千种,流行体系结构包括微控制器MCU微处理器MPU 等几十个系列。
嵌入式处理器包括从:单片机、DSP 到 FPGA 有着各式各样的品种,运算速度越来越快,性能越来越强,价格也越来越低。

1.2.2 嵌入式处理器分类

1.2.2.1 嵌入式微处理器(MPU)

嵌入式微处理器是由通用计算机中的CPU演变而来的。
  • 嵌入式微处理器的特征:是具有较高的性能,但价格也较高。
  • 嵌入式微处理器的优点(相比于工业控制计算机):嵌入式微处理器做的控制机具有体积小、重量轻、成本低、可靠性高的优点。

1.2.2.2 嵌入式微控制器(MCU)

嵌入式微控制器的典型代表就是单片机。
  • 嵌入式微控制器的特点(相比于嵌入式微处理器):微控制器的最大特点是单片化,体积大大减少,从而使功耗和成本下降、可靠性提高。
由于 MCU 低廉的价格、优良的功能,所以拥有的品种和数量最多。目前 MCU 占嵌入式系统 70% 的市场份额

1.2.2.3 嵌入式DSP处理器

DSP 处理器是专门用于信号处理方面的处理器。其在系统的结构和指令算法方面进行了特殊的设计。目前最为广泛应用的是 TI 的TMS320C2000/C5000 /C6000系列等。

1.2.2.4 SOC片上系统

一个芯片就是一个系统,或将一个系统放在一个芯片中。SOC最大特点是实现了软/硬件的无缝结合,直接在处理器芯片内部嵌入操作系统代码模块(直接刷操作系统固件)
所以SOC的集成度是最高的

1.3 嵌入式系统开发环境

1.3.1 开发工具的选择

  • 嵌入式系统的开发工具分类
    • 硬件开发工具:包括在线实时仿真器和其他检测工具,如示波器等
    • 软件开发工具:包括编辑、交叉编译、链接、定位软件和调试软件等。
  • 选择嵌入式系统开发工具时需要考虑的点:
    • 系统调试器的功能,特别是远程调试的功能
    • 还有该工具支持的库函数
    • 还要考虑开发工具的后续升级支持,支持的文件格式和符号格式等。

1.3.2 硬件调试工具的选择

  • 实时在线仿真器(ICE)
  • 逻辑分析仪;
  • ROM仿真器。

1.3.3 软件组件的选择

1.3.4 开发环境

  • 交叉环境;
  • 指令模拟器;
  • 电路开发板。

1.4 嵌入式操作系统

1.4.1 嵌入式操作系统概述(*)

嵌入式操作系统EOS(Embedded Operating System)是支持嵌入式系统应用的操作系统,是软、硬件资源的控制中心。嵌入式系统的全部软、硬件资源的分配调度工作由 EOS 负责,也控制和协调并发活动
  • 嵌入式操作系统(EOS )的特点(相对于一般的操作系统):它除具备了一般操作系统最基本的功能如:任务调度、同步机制、中断处理、文件功能等外,还有以下特点:
    • 可装卸性
    • 强实时性
    • 强稳定性,弱交互性
    • 固化代码
    • 更好的硬件适应性,也就是良好的移植性。

1.4.2 实时操作系统

  • 嵌入式操作系统的分类:嵌入式操作系统按照实时性可分为实时操作系统和非实时操作系统
  • 实时操作系统概念:实时操作系统是指——能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计正确程度,而且与这些操作进行的时间有关

1.4.2.1 实时操作系统中的重要概念

  • 系统响应时间:系统收到处理要求到系统给出应答信号的时间。
  • 任务换道时间:任务之间切换使用的时间。
  • 中断延迟:计算机接收到中断信号到操作系统作出响应,并完成换道转入中断服务程序的时间。
  • 实时操作系统中任务的四个状态
    • 运行:获得 CPU 的控制权。
    • 就绪:进入任务就绪(等待)队列,等待通过调度转为运行状态。
    • 挂起:任务发生阻塞,移出任务就绪队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。
    • 冬眠:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务

1.4.2.2 实时操作系统的分类

  • 按实时性可分为:
    • 软实时系统
    • 硬实时系统
  • 按任务是否可被抢占分为:
    • 可抢占型系统
    • 不可抢占型系统

1.4.3 常见的嵌入式操作系统(-)

1.4.3.1 嵌入式Linux操作系统简介

  • 嵌入式 Linux 的特点
    • Linux 是开放源代码的
    • Linux 的内核小、效率高,内核的更新速度很快
    • Linux 是免费的 OS,在价格上极具竞争力。
  • 嵌入式 Linux 系统产品分类
    • 专门为 Linux 的嵌入式方向做的
    • 如何让 Linux 更小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去,是产品的开发方向,如 Monta Vista 的Hard Hat Linux等。
    • 专门为Linux的实时特性设计的产品
    • 将 Linux 开发成实时操作系统,尤其是硬实时系统,应用于一些关键的控制场合。如 Fsmlabs 公司的 RT-Linux。
    • 将实时性和嵌入式方案结合起来的方案,并且提供集成化的解决方案。如Lineo、TimeSys等。
  • 嵌入式 Linux示例——uCLinux
    • uCLinux 是一个完全符合 GNU/GPL 公约的操作系统,完全开放源代码。
    • uCLinux 从 Linux2.0/2.4内核派生出来,沿袭了主流 Linux 的绝大部分特性。
    • uCLinux 是专门针对没有 MMU 的 CPU ,并且为嵌入式系统做了许多小型化的工作,适用于没有虚拟内存或内存管理单元(MMU)的处理器。

1.4.3.2 Android

  • Android背景信息
  • Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。
    • Android 最初由 Andy Rubin 开发,主要支持手机。2005年8月 由 Google 收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
  • Android优势
    • 开放性
    • 丰富的硬件
    • 方便开发
    • Google应用。

1.4.3.3 Windows CE

  • Windows CE背景信息
  • Windows CE 是一个全新开发的操作系统,是一个开放的、可裁剪的、32位的实时嵌入式窗口操作系统。
    • 与其它操作系统相比,Windows CE 操作系统具有可靠性好、实时性高、可以广泛应用于:嵌入式智能设备的开发、工业控制、信息家电、移动通讯、汽车电子等各个领域。
      Windows CE 的图形用户界面相当出色,它不仅继承了传统的 Windows 图形界面,并且在 Windows CE 平台上可以使用 Windows 的很多开发工具
  • Windows CE 的基本特性
    • 适应小型系统,为低成本、计算能力较差的系统提供简洁、高效、完善的控制机制;
    • 支持多种处理器和计算机架构,并支持多种装置接口遵循Windows平台的应用开发规范,提供Win32API等
    • 操作系统各部分模块化,可根据特性定制,以适应ROM
    • 为应用程序提供网络通信、图形使用接口、数据库、档案等支持
    • 支持实时应用
    • 提供进阶电源管理功能。

1.4.3.4 VxWorks

  • VxWorks背景信息
  • VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS)。
    • VxWorks具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,具有良好的可靠性和卓越的实时性,在嵌入式实时操作系统领域占据一席之地。
      VxWorks被广泛的应用于通信、军事、航空、航天等 高精尖技术及实时性要求极高的领域中。如卫星通讯、军事演习、导弹制导、飞机导航等。

1.4.3.5 uC/os-Ⅱ

  • uC/os-Ⅱ背景信息
  • uC/os-Ⅱ是一种基于优先级的抢占式多任务实时操作系统,包含了:实时内核、任务管理、时间管理、任务间通信同步(信号量、邮箱、消息队列)和内存管理等功能。
    • uC/os-Ⅱ可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实际应用程序的设计和扩展变得容易,使应用程序的设计过程大为简单。
      uC/os-Ⅱ绝大部分的代码是用ANSI的C语言写的,和微处理器硬件相关的部分是用汇编语言写的。
      至今,从8位到64位,uC/os-Ⅱ已在超过40种不同架构的微处理器运行。还通过了联邦航空局(FAA)商用航行器认证。
      自 1992 年问世以来,uC/os-Ⅱ 已经在世界范围内得到广泛的应用,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制。

1.4.3.6 pSOSystem

  • pSOSystem背景信息
  • pSOSystem 是一个专门为嵌入式微处理器设计和开发的模块、高效率的实时操作系统。
    • pSOSystem 的每一部分都是完全“自包含”的,这种机制允许开发者根据每个应用的特殊要求,对操作系统的功能和内存进行裁剪和配置。
      pSOSystem 提供了一套集成化的交叉开发工具,以支持应用系统的开发。该集成环境可在 PC 机或工作站上运行,这些工具可通过多种连接机制与目标机通信。

1.4.3.7 其他的嵌入式操作系统

如Nucleus、eCos、FreeRTOS等
Paper2PX4
Loading...
Noah
Noah
永远年轻,永远热泪盈眶
公告
❗❗复习笔记问题❗❗
由于兼容性问题
导入md文件可能导致了一些格式错误
🌹如发现格式错误,请联系我~🌹
🌹如博客内容有误也欢迎指出~🌹