1、嵌入式系统发展
第一阶段:单片微型计算机 (SCM) 阶段,即单片机时代,五操作系统
第二阶段:微控制器 (MUC) 阶段,有简单操作系统
第三阶段:片上系统 (SoC),兼容各种微处理器
第四阶段:以Internet为基础的嵌入式系统,嵌入式网络化
第五阶段:在智能化、云技术推动下的嵌入式系统
2、嵌入式硬件体系结构
嵌入式微处理器(控制器 MCU)
存储器 (RAM/ROM)、
内(外)总线逻辑
定时/计数器 (Time)、 看门狗电路、
I/O接口(串口、网络、 USB、JTAG )
外 部 设 备 (UART、LED等)
1、嵌入式微处理器
● 微处理器 (Micro Processor Unit,MPU)
由通用计算机中的CPU演变而来
相当于大脑,主要有:Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM
● 微控制器 (Micro Control Unit,MCU)
又称单片机,以一种MPU为核心
● 信号处理器 (Digital Signal Processor,DSP)
● 图形处理器 (Graphics Processing Unit,GPU)
● 片上系统 (System on Chip,SoC)
定义出整个应用系统,标准的V H D L等语言描述
2、存储器
1、RAM(Random Access Memory, 随机存取存储器)
操作系统和应用程序的所有正在运行的数据和程序都会放置其中,并且随时可以对存放在里面的数据进行修改和存取。
由持续的电力提供,一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复
分类:
DRAM(Dynamic RAM, 动态随机存取存储器)
SRAM(Static RAM, 静态随机存取存储器)
VRAM(Video RAM, 视频内存)
SDRAM(Synchronous DRAM, 同步动态随机存取存储器):与 C P U实现外频Clock同步的内存模式
2、ROM(Read Only Memory, 只读存储器)
其中的代码与数据将永久保存,并且不能够进行修改。一般应用于 P C系统的程序码、主
机板上的BIOS
分类:
MASK ROM (掩模型只读存储器):原始样本,用于复制
PROM(Programmable ROM, 可编程只读存储器):仅一次写入
EPROM(Erasable Programmable, 可擦可编程只读存储器)
Flash Memory (快闪存储器):直接在主机板上修改内容而不需要将IC拔下的内存,当电源关掉后储存在里面的资料并不会流失掉,在写入资料时必须先将原本的资料清除掉,然后才能再写入新的资料
3、内(外)总线逻辑
1、总线分类1:
数据总线:用于在C P U与R A M之间来回传送需要处理或者需要存储的数据;
地址总线:用于指定在R A M之中存储的数据的地址;
控制总线:将微处理器控制单元的信号传送到周边设备。
扩展总线和局部总线则是根据系统需要而添加
2、总线分类2:
片内总线: CPU芯片内部总线,用于连接芯片内部各个元件(如ALU 寄存器、指令
部 件 )
系统总线:计算机内部总线,它。 是连接计算机系统的主要组件。 如用于连接CPU 主存
和I/O接口的总结。系统总线又称板级总线或内部总线。
局部总线:计算机内部总线,通常是指在少数组件之间交换数据的总线,如CPU到北桥
的总线,内存到北桥的总线,局部总线的协议一般由设备制造商定义。在体系结构较简
单的计算机系统中,局部总线和系统总线为同一条总线。
通信总线:嵌入式系统主机外部总线,用于连接外部输入输出设备或者其他不同的计算
机系统。通信总线又称外部总线或外设总线。
4、看门狗电路
嵌入式系统必须具备的一种系统恢复能力,系统发生软件问题和程序跑飞后使系统重启
工作时自动计数(定时任务),程序流程定期将其复位。
3、嵌入式软件架构
BSP(板级支持包):
是介于主板硬件和操作系统中驱动层之间的一层
引导加载程序BootLoader和设备驱动程序
- 硬件相关性,BSP需为操作系统提供操作和控制具体硬件的方法
- 操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式
1、层次化模式架构:抽象不同层级
2、递归模式架构:不断的拆解
2.1)自顶向下:自顶向下的工作流从系统层级开始并标识结构对象
2.2)自底向上:自底向上专注于域的构造,首先确定域中的关键类和关系。要求开发者以往有丰富的开发经验
嵌入式操作系统(EOS):
1)硬件层、抽象层、操作系统层、中间件层和应用层
2)主要特点:微型化、代码质量高、专业化、实时性强、可裁减和可配置
3)分类:
实时:VxWorks、Nucleus。高精度计时系统、多级中断机制、实时调度机制
非实时:移动电话、机顶盒、电子书、Android、IOS、WinCE
VRTX:实时多任务操作系统
LynxOS:分布式嵌入式实时操作系统
4、嵌入式架构设计方法
1、ABSD
基于架构的软件设计。由业务、质量和功能需求的组合驱动软件架构设计
自顶向下,递归细化的软件开发方法
2、ADD (Attribute-Driven Design 属性驱动)
开发过程:
需要经历评审、选择驱动因子、选择系统元素、选择设计概念、实体化元素和定义接口、草拟视图和分析评价等七个阶段
低功耗设计:
1、软硬件协同设计
2、编译优化
3、减少系统的持续运行时间,算法优化
4、用中断代替查询
5、进行电源的有效管理