嵌入式系统期末复习重点-西北大学(欧阳老师给的)

这篇博客详细介绍了嵌入式系统的核心概念,包括嵌入式系统的定义、特点和组成。特别强调了ARM处理器的结构、分类和指令集,以及调试技术如JTAG接口和指令集模拟器。此外,还涵盖了中断控制器、DMA控制器、NorFlash与NandFlash的区别以及I2C、SPI和CAN总线的特性。内容涵盖了从基础理论到具体应用的多个方面,适合期末复习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 嵌入式系统概论

嵌入式系统的定义

 

       嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它具有自主的信息处理能力。

嵌入式系统的特点

 

1) 与应用密切相关,执行特定的功能

2) 嵌入式系统都是实时系统,有时限要求

3) 嵌入式操作系统一般为多任务实时操作系统

4) 系统可靠性要求高(因为使用环境可能很恶劣)

5) 具有功耗约束

6) 嵌入式系统本身不具备自举开发能力,需要交叉开发环境和调试工具

7) 系统资源紧缺

嵌入式系统的基本组成

 

       嵌入式硬件系统 & 嵌入式软件系统

嵌入式系统的硬件组成

 

1) CPU

2) 外围电路:I/O接口控制器电路、时钟电路、各式总线 等

3) 外部设备:RAM、ROM、Flash闪存、键盘、LED、液晶屏、触摸屏、手写笔 等

嵌入式系统的软件组成

 

       含操作系统的嵌入式软件(LOSES) & 不含操作系统的嵌入式软件(NOSES)

含操作系统的嵌入式软件(LOSES)的组成

 

       板级支持包(BSP)、硬件驱动程序、嵌入式实时操作系统(RTOS)、嵌入式中间件、应用程序API接口、组件库、嵌入式软件

课后题

试说明嵌入式系统和PC系统的主要差异在哪些方面?

 

1) 体积小、软硬件可裁剪、成本低、可嵌入到其他系统中是嵌入式的主要特点,也是他们的主要差别。

2) 处理器不同,一般嵌入式系统用的是arm架构的处理器,属于专用处理器。一般的PC机用的是X86架构的处理器(intel、amd),属于通用处理器。

3)嵌入式系统与通用计算机系统有着完全不同的技术要求和技术发展方向。通用计算机系统的技术要求是高速、海量的数值计算,其技术发展方向是总线速度的无限提升、存储容量的无限扩大;而嵌入式计算机系统的技术要求则是智能化控制,技术发展方向是与对象系统密切相关的潜入性能、控制能力与控制的可靠性不断提高。

第二章 嵌入式微处理器基本分类

重点

硬件结构

 

    低档处理器多采用哈佛结构,高档处理器多采用冯·诺伊曼结构。

哈佛结构

 

       即数据存储空间和程序存储空间分离

    较大的程序存储器(用于固化已调试好的控制程序)

    较小的数据存储器(用于存放少量的随机数据——高速)

看门狗定时器

 

       看门狗定时器是一个用来引导嵌入式微处理器脱离死锁工作状态的部件。它是一个专用计数器,能够自一个指定的时间间隔后复位微处理器。

       其原理是系统启动后,初始化程序向看门狗计数寄存器写入技术初值;此后每经过一个预定的时间间隔看门狗执行一次计数。如果软件和设备正常工作,那么看门狗计数寄存器中设定的计数值计满时系统会充值看门狗计数寄存器的计数初值,让它继续计数,并且一直循环下去。这样,看门狗不会因计数器值计满而重新启动系统。若软件和设备工作发生故障或者机器死锁,必然导致看门狗在计数器计满后得不到重新填入的计数初值,于是产生计数溢出;一旦出现溢出,看门狗将产生一个复位信号并重新复位系统。

端序

 

       端序表示多字节数据存储时数据在内存中的存放顺序,有大端序和小端序之分。每一个计算机在运行时只能采用一种端序。

       大端序:多字节数据的最高字节存放在最低存储位置。

       小端序:多字节数据的最低字节存放在最低存储位置。

举例:存放32位字的00000101 11110000 00010000 00000011

32位字存储单元的最低2位地址

 

大端序

 

小端序

 

第11单元

00000011

00000101

第10单元

00010000

11110000

第01单元

11110000

00010000

第00单元

00000101

00000011


ARM处理器的基本特点

 

1) 16/32位双指令集

2) 小体积、功耗低、成本低、性能高

3) 全球众多合作伙伴(第三方开发者广泛支持)

课后题

看门狗定时器的主要功能是什么?

 

       看门狗定时器是一个用来引导嵌入式微处理器脱离死锁工作状态的部件。它是一个专用计数器,能够自一个指定的时间间隔后复位微处理器。

       其原理是系统启动后,初始化程序向看门狗计数寄存器写入技术初值;此后每经过一个预定的时间间隔看门狗执行一次计数。如果软件和设备正常工作,那么看门狗计数寄存器中设定的计数值计满时系统会充值看门狗计数寄存器的计数初值,让它继续计数,并且一直循环下去。这样,看门狗不会因计数器值计满而重新启动系统。若软件和设备工作发生故障或者机器死锁,必然导致看门狗在计数器计满后得不到重新填入的计数初值,于是产生计数溢出;一旦出现溢出,看门狗将产生一个复位信号并重新复位系统。

 

在设计ARM嵌入式系统时,如何对处理器进行选型?

 

1) CPU Core选择

²  应用领域

²  用户需求

²  性能

²  浮点处理

²  MAC单元

²  完善友好的工具链

²  开发的难易程度

²  在线系统编程、在线系统调试

2) 处理器I/O接口选择

²  总线的需求

²  GPIO的需求

²  有没有基本通信接口UART 、I2C、SPI

²  是否需要USB总线

²  是否需要CAN总线

²  是否需要Ethernet总线

²  是否需要A/D、D/A

²  是否需要LCD控制器

²  是否需要Zigbee、蓝牙等

3) 处理器存储系统选择

²  MMU

²  寻址空间(容量)

²  程序存储器、数据存储器、特殊寄存器

²  片上Flash、SRAM、E2PROM

²  是否支持SDRAM

4) 市场因素的影响

²  价格

²  是否容易购买

²  技术支持与售后服务

 

第三章 ARM处理器体系结构

重点

ARM7

 

处理器核系列:ARM7系列

应用处理器:ARM720T

嵌入式实时控制器:ARM7TDMI、ARM7EJ-S

微控制器:ARM7TDMI

ARM处理器的RISC特征

 

       被沿用的RISC技术特征:通用寄存器堆,32位定长指令,Load/Store访问存储器指令,3地址数据运算指令

ARM7流水线

 

       采用3级指令流水线,三个阶段分别为:取址、译码、执行。

ARM处理器的工作模式

 

       用户模式       USR              正常程序执行模式

快中断模式    FIQ         支持高速数据传输或通道处理

中断模式       IRQ        用于通道中断处理

管理模式       SVC              操作系统保护模式

       中止模式       ABT        实现虚拟存储器和/或存储器保护

       未定义模式    UND      支持硬件协处理器的软件仿真

系统模式       SYS        运行特权级的操作系统任务

特权模式

 

    除用户模式以外,其余6种模式称之为特权模式(Privileged Modes)

    当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的

异常模式

 

    除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes)

    常用于处理中断或异常,以及需要访问受保护的系统资源等情况

工作模式的改变方法

 

1) 通过软件改变

2) 通过外部中断(IRQ、FIQ)或异常处理(来自CPU内部)改变

软件方式改变工作模式举例

    SWI  0x0            ;调用0号软中断

    SWI  0x12          ;调用12号软中断

 

ARM处理器的工作状态

 

       ARM状态 (机器指令为32位的ARM指令集)

       Thumb状态(机器指令为16位的ARM指令集)

工作状态切换

 

在程序的执行过程中,处理器可以随时在两种工作状态之间切换

处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容

ARM微处理器在开始执行代码时总是处于ARM状态

工作状态切换方法举例

 

B            Label

CMP      R1,  #0

BEQ              Label

      

ADRL     R0,  ThumbFun+1

BX          R0

BLX        Label

状态寄存器(CPSR & SPSR)

 

标志位N

 

    当用两个补码表示的带符号数进行运算时

    N=1表示运算结果为负数

    N=0表示运算结果为正数或零

标志位Z

 

    Z=1表示运算结果为零;Z=0 表示运算结果为非零

    标志位V

    对于加/减法运算指令,当操作数和运算结果为补码表示的带符号数时,V=1表示符号位溢出

    对于其他的非加/减运算指令,V的值通常不改变

标志位C

 

    加法运算(包括比较指令CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0

    减法运算(包括比较指令CMP):当运算时产生了借位(无符号数溢出),C=1,否则C=0

    对于包含移位操作的非加/减运算指令,C为移出值的最后一位

    对于其他的非加/减运算指令,C的值通常不改变

中断禁止位I和F

 

    I=1禁止IRQ中断

    F=1禁止FIQ中断

运行状态控制位T

 

该位反映处理器的运行状态

    对于ARM v5及以上的T系列处理器,当该位为1时,程序运行于Thumb状态,否则运行于ARM状态

    对于ARM v5及以上的非T系列处理器,当该位为1时,执行下一条指令以引起未定义的指令异常;当该位为0时,表示运行于ARM状态

工作模式位M[4:0]

 

这些位决定了处理器的工作模式

 

课后题

ARM指令集程序与Thumb指令集程序如何相互跳转?请写出示例代码。

 

              AREA     ArmP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值