ARM笔记-嵌入式系统基础
第一章 嵌入式系统基础
1.1嵌入式系统简介
1.1.1嵌入式系统定义
- 嵌入式系统定义:
- 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统 ------Any device that includes a computer!
1.1.2嵌入式系统的组成
-
嵌入式系统由硬件和软件两大部分组成
- 硬件:整个系统的物理基础,它提供软件运行平台和通信接口;
- 软件:实际控制系统的运行
-
两种嵌入式系统结构模型:
-
应用程序(Application) 标准接口函数(API) 操作系统(OS) 硬件抽象层(HAL)、BSP、驱动 底层硬件 -
应用(Application) 设备驱动程序 底层硬件
-
一、硬件部分
-
组成:
-
核心处理器:
-
硬件层的核心
-
体系结构:采用冯诺伊曼体系结构和哈佛体系结构
- 冯诺伊曼体系结构:将程序指令存储器和数据存储器合并在一起的存储器结构(eg.ARM7)
- 单次取指令长度和取数据的长度相同
-
哈佛体系结构:将程序指令存储和数据存储分开的存储器结构(eg.ARM9的内核)
- 指令和数据有不同的数据宽度
- 分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字和操作数,从而提高执行速度,也提高了数据吞吐率
- 冯诺伊曼体系结构:将程序指令存储器和数据存储器合并在一起的存储器结构(eg.ARM7)
-
指令系统:RISC和CISC
-
CISC(Complex Instruction Set Computer)
- 具有大量的指令和寻址方式
- 大多数程序只使用少量的指令就能运行
-
RISC(Reduced Instruction Set Computer)
- 8/2原则:80%的程序只使用20%的指令。
- 只包含最有用的指令。
- 确保数据通道快速执行每一条指令。
- 使CPU硬件结构设计变得更为简单。
-
二者的主要区别
-
指标 RISC CISC 指令集 一个周期执行一条指令,通过简单指令的组合实现复杂操作,指令长度固定。 指令长度不固定,执行需要多个周期。 流水线 流水线每周期前进一步 指令的执行需要调用一段微程序 寄存器 更多通用寄存器 用于特定目的的专用寄存器 Load/Store结构 独立的Load/Store指令完成数据在寄存器 和 外部存储器 之间的传输 处理器能够直接处理存储器中的数据 -
RISC执行特殊功能效率低,但可以利用流水技术和超标量技术加以改进和弥补。
-
CISC处理特殊任务效率较高
-
-
-
-
外围电路
- 组成:存储器、I/O端口、复位电路、模数转换器/数模转换器(ADC/DAC)、电源
-
外部设备
- 嵌入式系统与真实环境交互的各种设备
-
二、软件部分
- 组成:嵌入式操作系统和嵌入式应用软件
- 嵌入式系统软件一般包含四个层面:应用程序、应用程序接口API、实时操作系统RTOS、硬件抽象层(HAL)。有的版本将应用程序接口 API 归属于 OS 层,就是按照三层来划分的。
1.1.3 嵌入式系统的特点
-
嵌入式系统同通用计算机系统相比有以下特点:
- 专用性强
- 强调实时性
- 具备可裁剪性
- 可靠性要求高
- 功耗低
- 嵌入式系统开发需要开发工具和开发环境
-
嵌入式微处理器的特点
- 对实时多任务有很强的支持能力。
- 具有功能很强的存储区保护功能–不同进程之间无法互相访问其存储空间
- 可扩展的处理器结构。
- 嵌入式微处理器功耗低。
1.1.4嵌入式系统的分类
- 处理器位数
- 4位嵌入式系统
- 8位嵌入式系统
- 16位嵌入式系统
- 32位嵌入式系统
- 64位嵌入式系统
- 实时性:
- 非实时系统(PDA)
- 软实时系统(电子消费类产品)
- 硬实时系统(数控、航空航天等工业和军工系统)
- 软件结构:(important)
- 循环轮询系统
- 前后台系统
- 单处理器多任务系统
- 多处理器多任务系统
- 应用场景:
- 通信类
- 信息家电类
- 移动终端类
- 汽车电子类
- 工业控制类
- …
1.2嵌入式处理器
1.2.1嵌入式处理器分类
-
嵌入式微处理器(MPU–Microprocessor Unit)
- 嵌入式微处理器是由通用计算机中的CPU演变而来的。 -----用来处理高性能计算(eg.服务器,手机等)
- 嵌入式微处理器的特征:
- 具有较高的性能,但价格也较高。
- 嵌入式微处理器做的控制机具有体积小、重量轻、成本低、可靠性高的优点。
-
嵌入式微控制器(MCU–Microcontroller Unit)
- 嵌入式微控制器的典型代表就是单片机。
- MCU是一种集成化的芯片,将处理器核心、**存储器(如Flash、RAM)和外围设备(如GPIO、ADC、UART等)**集成在一个芯片上。-----(eg.家电、工业控制、传感器节点等)
- 占嵌入式系统70%的市场份额
-
嵌入式DSP处理器(DSP–Digital Signal Processor)
- DSP 处理器是专门用于信号处理方面的处理器。
- 其在系统的结构和指令算法方面进行了特殊的设计。
-
SOC片上系统(System on a Chip)
- 一个芯片就是一个系统,或将一个系统放在一个芯片中。
- SOC最大特点是实现了软/硬件的无缝结合,直接在处理器芯片内部嵌入操作系统代码模块。
1.3嵌入式系统开发环境
- 开发工具的选择:硬件开发工具&软件开发工具
- 硬件开发工具:在线实时仿真器和其他检测工具,如示波器等
- 软件开发工具:编辑、交叉编译、链接、定位软件和调试软件等
- 硬件调试工具的选择:
- 实时在线仿真器(ICE)
- 逻辑分析仪
- ROM仿真器
- 软件组件的选择
- 开发环境:
- 交叉开发工具
- 指令模拟器
- 电路开发板
1.4 嵌入式操作系统
1.4.1嵌入式操作系统
- 嵌入式操作系统EOS(Embedded Operating System)是支持嵌入式系统应用的操作系统,是软、硬件资源的控制中心。
- EOS 是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能如:
- 任务调度、同步机制、中断处理、文件功能等外,
- 还有以下特点:
- 可装卸性;
- 强实时性;
- 强稳定性,弱交互性;
- 固化代码;
- 更好的硬件适应性,也就是良好的移植性。
- 嵌入式操作系统可分为:实时操作系统(RTOS)和非实时操作系统
1.4.2 实时操作系统
- 实时操作系统是指——能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。
一、RTOS的重要概念
- 系统响应时间
- 系统收到处理要求到系统给出应答信号的时间。
- 任务换道时间
- 任务之间切换使用的时间
- 中断延迟
- 计算机接收到中断信号到操作系统作出响应,并完成换道转入中断服务程序的时间。
- 任务(即线程)的四个状态
- 运行:获得 CPU 的控制权
- 就绪:进入任务就绪(等待)队列,等待通过调度转为运行状态
- 挂起:任务发生阻塞,移出任务就绪队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行
- 冬眠:任务因为完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务
二、实时操作系统的分类
- 按实时性要求
- 软实时系统
- 硬实时系统
- 按任务是否可被抢占
- 可抢占系统–严格按照优先级执行(如:uC/OS-II)
- 不可抢占系统
1.4.3常见的EOS(了解)
在复习的时候可以看看ppt
- Linux
- uCLinux
- Android
- Windows CE
- VxWorks
- uC/OS-II
- pSOSystem
- Nucleus、eCos