【系统架构师】-第16章-嵌入式系统架构设计理论与实践

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和设备驱动程序

  1. 硬件相关性,BSP需为操作系统提供操作和控制具体硬件的方法
  2. 操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式

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、进行电源的有效管理

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 14:56:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 14:56:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 14:56:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 14:56:04       20 阅读

热门阅读

  1. flask库

    flask库

    2024-03-15 14:56:04      29 阅读
  2. Hive实现查询左表有右表没有的记录

    2024-03-15 14:56:04       21 阅读
  3. Python朗读在线音频和本地音频的三种方法

    2024-03-15 14:56:04       22 阅读
  4. Tomcat

    Tomcat

    2024-03-15 14:56:04      16 阅读
  5. WPF使用LiveCharts画图时,横坐标转换成时间

    2024-03-15 14:56:04       17 阅读
  6. 24上软考复习调整策略和学习计划!

    2024-03-15 14:56:04       19 阅读
  7. 学习Android的第二十九天

    2024-03-15 14:56:04       20 阅读
  8. 基于SpringBoot+Druid实现多数据源:原生注解式

    2024-03-15 14:56:04       21 阅读
  9. spring boot单元测试

    2024-03-15 14:56:04       24 阅读
  10. kotlin 程序 编译与执行

    2024-03-15 14:56:04       23 阅读
  11. R语言系列2——R语言数据处理技巧

    2024-03-15 14:56:04       22 阅读
  12. MSQL中DATETIME或TIMESTAMP的区别

    2024-03-15 14:56:04       20 阅读