期末复习【嵌入式系统】

  • 前言
  • 推荐
  • 期末复习
  • 推荐
  • 题型
  • 复习
  • 总述
  • 问题与思考:
  • 教学内容介绍
  • 第1章 嵌入式系统基础
  • 问题与思考
  • 1.嵌入式系统概述
  • 2.嵌入式处理器
  • 3.嵌入式操作系统
  • 4.嵌入式系统开发
  • 第2章ARM技术及体系结构
  • 问题与思考
  • 2.1 嵌入式ARM处理器概况
  • 2.2 ARM处理器技术
  • 2.3 ARM7处理器结构
  • 2.4 ARM7TDMI的工作状态及模式
  • 2.5 ARM7内部寄存器
  • 2.6 ARM体系的异常处理
  • 2.7 ARM体系的存储方式
  • 第3章ARM7TDMI指令系统
  • 问题与思考
  • 第4章 基于ARM7系列的汇编语言程序设计
  • 问题与思考
  • 第5章 LPC2000系列微处理器组成与中断技术
  • 问题与思考
  • 第6章 LPC2000系列微处理器片上外设接口
  • 问题与思考
  • 第7章 ARM7系列芯片的外围电路设计
  • 问题与思考:
  • 7.1. 嵌入式硬件系统模块
  • 7.2. 存储器电路与设计
  • 7.3. 键盘输入模块
  • 7.4. 显示输出模块
  • 7.5. 串行通信模块
  • 最后


前言

初稿:2023-6-30 16:58:07


期末复习

推荐

西邮嵌入式系统复习

题型

A,B两套试卷,基本涵盖了这些题型:
填空、判断、选择、名词解释、简单题,综合分析与设计,大致这些题型。

复习

以下内容,来源于复习PPT

总述

问题与思考:

该课程通过十六周的学习,学了哪些内容?
课程包含软硬件知识,软硬件如何协同工作?
通过课程的学习,了解、理解、掌握了哪些知识点?自己的能力哪些方面得到提升?

教学内容介绍

(1)基础知识:第1章、第2章、第3章和第4章。这四章介绍了嵌入式系统的基本概念、ARM7的体系结构、编程模式、指令系统和汇编程序设计方法。
(2)硬件开发基础:第5章、第6章和第7章。以NXP公司的LPC2000系列为例,介绍了嵌入式系统的硬件组成及工作原理。
(3)软件开发基础:第8章,介绍了嵌入式系统软件组成、硬件适配层软件功能、实现方法、系统软件移植和软件开发流程。
(4)嵌入式系统应用:第9章,以《停车场管理系统》,简介系统总体设计、嵌入式Web设计、嵌入式SQLite数据开发、SNMP代理设计等。

期末复习【嵌入式系统】_嵌入式系统

第1章 嵌入式系统基础

问题与思考

什么是嵌入式系统?有什么特点?应用在哪些领域?
嵌入式系统组成?嵌入式处理器如何分类?典型的嵌入式处理器有哪些?
操作系统概念,什么是EOS?常用的EOS有哪些?
嵌入式系统开发主要步骤和流程

1.嵌入式系统概述

1.1.1嵌入式系统的定义

比较认同的嵌入式系统概念

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

(1)专用性:是专为目标对象设计定制的,与应用对象紧密结合,是面向用户 。
(2)嵌入性:是目标对象系统的组成部分,系统的软、硬件都嵌入到目标对象体系结构中,形成一个以计算技术、电子技术和特定的工程应用相结合的综合体。
(3)计算机系统: 是以计算机为基础,软、硬件可裁剪的专用计算机系统。

1.1.2嵌入式系统组成

期末复习【嵌入式系统】_汇编语言_02


1.硬件层

硬件层包含:嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)
处理器 :ARM、MIPS、 X86、 PowerPC和SH等 。
主存储器 :
ROM类 NOR Flash、EPROM和PROM等。
RAM类 SRAM、DRAM和SDRAM等 。
接口:A/D、D/A、RS-232、Ethernet、USB、IIS(音频 接口)、I2C、CAN、SPI和IrDA(红外线接口)

2. 中间层-硬件适配层

在硬件层与软件层之间,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP)。
任务:相关底层硬件的初始化及配置,设备驱动程序 。
特点:
① 硬件相关性,直接操作底层硬件。
② 操作系统相关性: 为操作系统提供所需要的硬件操作接口。

3. 系统软件层

系统软件层由嵌入式操作系统(EOS) 、文件系统、图形用户接口(GUI)、网络系统及通用组件模块等组成。

4. 功能层
基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能 。

1.1.3嵌入式系统的特点

1.1.4嵌入式系统应用

2.嵌入式处理器

3.嵌入式操作系统

  • 嵌入式操作系统简介
  • 嵌入式操作系统的种类
  • 实时操作系统的相关概念
  • 几种典型的嵌入式操作系统

1.3.1嵌入式操作系统简介
基本概念——操作系统

操作系统是计算机中最基本的程序。
操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动,提高资源利用率;
操作系统提供用户接口,方便用户使用;
操作系统为用户扩展新的系统功能提供软件平台。

期末复习【嵌入式系统】_嵌入式系统_03

操作系统是对系统资源进行管理的软件,
主要管理功能:
进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

嵌入式操作系统(EOS, Embedded Operating System)
是一种支持嵌入式系统应用的操作系统软件,
包括:
与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

1.3.4几种典型的EOS

  • Linux :是一个完全符合GNU/GPL(通用公共许可协议 )公约的操作系统,完全开放代码 。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性,是专门针对没有MMU的CPU设计。
    Linux的优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。
  • μC/OS-II:是一个典型的实时操作系统, 源代码公开,代码结构清晰明了,注释详细,组织有条理,可移植性好,可裁剪,可固化,内核属于抢占式,最多可以管理60 个任务。系统绝大部分源码是用ANSI C写的。
  • Windows CE :是微软公司的产品 ,采用模块化设计,基本内核需要200KB 以上,是精简的Windows 95 ,以使用Windows 95/98上的编程工具 。
  • VxWorks:是WindRiver(风河)公司专门为实时嵌入式系统设计开发的操作系统软件,提供了高效的实时任务调度、 中断管理、 实时的系统资源以及实时的任务间通信。现被Intel所收购。
  • Android:是Google基于Linux平台开发的手机操作系统平台,由操作系统、中间件、用户界面和应用软件组成。
  • PalmOS:是一种32位的嵌入式操作系统,由3Com公司开发,主要用于掌上电脑。
  • QNX :是一款实时操作系统,由加拿大QNX公司开发,广泛应用于自动化、控制、机器人科学、电信、数据通信、航空航天、POS机、零售机等应用领域。

4.嵌入式系统开发

  • 嵌入式系统开发过程
  • 常用的设计流程模型
  • 开发环境及调试方法

嵌入式系统的开发过程可以分为需求分析、体系结构设计、软硬件设计(软件设计、硬件设计)、系统集成和系统优化与测试等阶段。

(1)需求分析
提出需求:包括功能和非功能两部分 ,非功能信息包括性能、功耗、成本、系统尺寸和重量等 。
确认需求:建立一个模型,使用已存数据来模拟功能,确认需求的合理性。
建立需求分析表格
设计规格说明书,按照需求撰写 。

期末复习【嵌入式系统】_嵌入式系统_04

第2章ARM技术及体系结构

问题与思考

了解 ARM芯片及版本情况

  • ARM处理器技术,CISC&RISC及特点对比,哈佛结构&普林斯顿结构,三级流水线技术原理与实现,指令执行过程中PC指向位置?
  • ARM7的工作状态及模式,模式与37个寄存器如何对应?两种状态如何切换?两种指令集SP/LR/PC/CPSR,CPSR状态与控制位。
  • ARM体系的异常处理,异常如何进入与退出?需要做哪些工作?异常处理与流水线如何对应?异常向量表的概念。
  • ARM体系的存储方式,小端与大端模式存储

2.1 嵌入式ARM处理器概况

2.1.1 ARM体系的版本说明

ARM公司简介

ARM 即Advanced RISC Machines的缩写 ,作为:①公司的名字 ,②一类微处理器的通称,③ 一种技术的名称 。

1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生。1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。

ARM公司设计了大量高性能、廉价、耗能低的RISC 处理器。目前已经成为市场上主流的处理器。

2.1.2 ARM内核的命名

2.1.3 常用ARM处理器系列介绍

2.2 ARM处理器技术

2.2.1 RISC技术

CISC:复杂指令集(Complex Instruction Set Computer)
具有大量的指令和寻址方式
8/2原则:80%的程序只使用20%的指令
大多数程序只使用少量的指令就能够运行。

RISC:精简指令集(Reduced Instruction Set Computer)
在通道中只包含最有用的指令
确保数据通道快速执行每一条指令
使CPU硬件结构设计变得更为简单

RISC的结构的特点如下:
简化指令集,只保留常用的基本指令;
设计大量的通用存储器,减少访存的次数;
采用装载/保存(load-store)结构,支持流水线技术,使每个周期时间相等;
采用简单的指令格式、规整的指令字长和简单的寻址方式。
单机器周期指令,即大多数的指令都可以在一个机器周期内完成。

除以上特点之外, ARM增加:数据处理指令可同时包含ALU运算和移位处理功能;地址自增和自减功能;装载/保存指令中具有数据的批量传输;大多数指令提供条件执行 。

2.2.2 流水线技术

CPU中的流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠执行,从而实现几条指令并行处理,以加速程序运行过程的技术。
ARM7采用三级流水线、ARM9采用五级流水线,ARM10采用六级流水线、ARM11采用八级流水线。
以ARM7三级流水线为例,由三个独立的部件分别执行:

  • 取指,从存储器中装载一条指令到CPU中;
  • 解码,识别并解释将要被执行的指令;
  • 执行,将解码识别的指令进行计算处理并将结果写回寄存器。

期末复习【嵌入式系统】_嵌入式_05

2.2.3 哈佛结构

  • 哈佛结构是一种将程序中指令和数据分开存储的存储器结构。它是一种并行存储体系结构,程序存储器和数据存储器采用不同的总线,从而提供了较大的存储器带宽 。
  • 冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。
  • ARM7采用了普林斯顿结构,在随后的ARM9、ARM10、ARM11、ARM Cortex等处理器采用了哈佛结构,

期末复习【嵌入式系统】_嵌入式系统_06

期末复习【嵌入式系统】_嵌入式系统_07

2.2.4 AMBA总线技术
2.2.5 ARM处理器的调试跟踪技术

2.3 ARM7处理器结构

2.4 ARM7TDMI的工作状态及模式

2.4.1 ARM7处理器工作状态

ARM7工作状态

ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:

  • ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;
  • Thumb状态:16位,处理器执行半字方式的Thumb指令。

注意:两个状态之间的切换并不影响处理器模式或寄存器内容。

期末复习【嵌入式系统】_嵌入式系统_08

2.4.2 ARM7处理器模式

2.5 ARM7内部寄存器

2.5.3 程序状态寄存器

期末复习【嵌入式系统】_嵌入式_09

2.6 ARM体系的异常处理

异常的进入

当一个异常导致模式切换时,内核自动的做如下处理:

  • 将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR;
  • 将CPSR的当前值保存到相应异常模式下的SPSR;
  • 设置CPSR为相应的异常模式;
  • 设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;

异常的退出

期末复习【嵌入式系统】_嵌入式_10

期末复习【嵌入式系统】_嵌入式系统_11

2.7 ARM体系的存储方式

第3章ARM7TDMI指令系统

问题与思考

  • ARM指令的寻址方式,总结与具体判断
  • ARM指令格式及分类,汇编指令与C语言对比, 数据处理指令、分支指令、加载/存储指令、交换指令、程序状态寄存器(PSR)处理指令、协处理指令和SWI异常产生指令七大类,了解机器码,指令的机器码格式与汇编指令的分析。
  • 指令的难点:存储器访问指令的理解与应用,多寄存器访问指令含义与解析。
  • 伪指令含义与应用,MOV,LDR 加载与LDR伪指令有何不同?例题与作业题

3.1 ARM7TDMI指令集概述

3.2 ARM指令的寻址方式

3.3 ARM指令集介绍

3.3.1 数据处理指令(数据传输类,算术与逻辑运算,比较类指令)
3.3.2 乘法指令
3.3.3 分支指令(B,BL ,BX)
3.3.4 程序状态寄存器访问指令(MRS,MSR)
3.3.5 ARM软中断指令
3.3.6 ARM存储器访问指令(单LDR/STR指令,多寄存器操作指令 LDM/STM,交互SWP指令 )
3.3.7 ARM协处理器操作指令
3.3.8 ARM伪指令

3.4 Thumb指令集

第4章 基于ARM7系列的汇编语言程序设计

  1. ARM7汇编语言程序结构格式
  2. ARM7汇编语言程序中的符号
  3. ARM7汇编器伪指令
  4. ARM7汇编语言程序的上机过程
  5. ARM7汇编语言程序设计
  6. C语言和ARM7汇编语言的混合/交叉编程

问题与思考

  • 计算机语言,机器语言、汇编语言与高级语言各自特点。
  • ARM7汇编语言程序中的符号,符号命名,变量、常亮如何定义及应用。数据如何定义?
  • ARM汇编语言程序的设计步骤,如何编辑、编译、连接与调试程序,具体内容?
  • ARM7汇编语言程序设计,顺序、分支与循环程序结构与编程,子程序概念等。
  • 程序的分析、流程图设计,功能总结等。
  • 常见数据搬家(复制)、求和、寻找最大数最小数、排序等等,书上例题,上机分析。

第5章 LPC2000系列微处理器组成与中断技术

5.1 LPC2000系列简介
5.2 芯片内部结构
5.3 存储器结构
5.4 系统控制模块
5.5 中断技术
5.6 向量中断控制器

问题与思考

  • LPC2100、LPC2200等系列及特点
  • 芯片内部结构,局部总线、AHB总线、VPB总线与内外连接关系。
  • 存储器结构,映射含义,重映射引入、对象、解决问题?
  • 系统控制部分,时钟系统结构
  • 中断概念、过程、中断优先级判断与处理,中断控制部件VIC结构、作用与实际编程应用。向量中断如何处理,程序如何跳转?

第6章 LPC2000系列微处理器片上外设接口

6.1 引脚连接模块
6.2 GPIO原理及应用
6.3 外部中断输入
6.4 定时计数电路
6.5 UART串行接口
6.6 片上一些其它常用接口(SPI、I2C、A/D、WDT、PWM及RTC)

问题与思考

  • 为什么引入引脚连接模块?解决什么问题?如何解决?硬件电路分析与软件编程关系?
  • 设置管脚的两种方式,简单直接设置与“读-修改-写”方式 设置有何不同?针对有多个引脚功能设置,在应用中如何选择?为什么?
  • GPIO的综合应用,通过管脚选择、方向、输出与输入控制。GPIO应用中控制LED闪烁通过延时方式与定时中断的区别。
  • 外部中断概念、数量、种类与应用,结合VIC原理。对比GPIO输入与外部中断输入方式,各有何特点?
  • 处理器与外设交互数据主要方式、特点及应用场景

期末复习【嵌入式系统】_嵌入式_12

期末复习【嵌入式系统】_嵌入式系统_13

期末复习【嵌入式系统】_嵌入式_14

期末复习【嵌入式系统】_嵌入式系统_15


期末复习【嵌入式系统】_嵌入式系统_16

期末复习【嵌入式系统】_嵌入式系统_17

期末复习【嵌入式系统】_汇编语言_18

第7章 ARM7系列芯片的外围电路设计

问题与思考:

1、嵌入式系统最小系统构成
2、存储器电路的分类及作用
3、输入/输出模块,通信模块作用

7.1. 嵌入式硬件系统模块

7.1.1 最小系统结构

嵌入式微控制器是整个系统的核心,、负责整个系统的运作,但是它不能独立工作,必须配置额外的外围电路为其提供必要的基本条件。

期末复习【嵌入式系统】_嵌入式_19

嵌入式微控制器是整个系统的核心,负责整个系统的运作,但是它不能独立工作,必须配置额外的外围电路为其提供必要的基本条件。

所谓最小系统结构,是指在嵌入式微控制器外部增加尽可能少的电路模块,达到一个可以让嵌入式微控制器独立工作的状态。

期末复习【嵌入式系统】_嵌入式_20

7.1.2 电源电路
7.1.3 时钟电路
7.1.4 复位电路
7.1.5 存储器系统

7.2. 存储器电路与设计

7.3. 键盘输入模块

7.4. 显示输出模块

7.5. 串行通信模块

期末复习【嵌入式系统】_嵌入式系统_21

期末复习【嵌入式系统】_嵌入式系统_22

期末复习【嵌入式系统】_嵌入式系统_23

期末复习【嵌入式系统】_嵌入式_24

期末复习【嵌入式系统】_嵌入式_25

最后

初稿:2023-6-30 17:34:30

你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。