嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口

ARM微处理器特点,ARM体系结构,特征、状态、模式等,中断分类,JTAG调试接口

嵌入式微处理器及其应用
ARM体系结构概述
ARM JTAG调试接口概述

嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第1张图片

ARM微处理器

一、发展历程
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第2张图片
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第3张图片

二、ARM处理器的特点
1、ARM处理器的三大特点
1.1、小体积,低功耗,成本低,高性能
1.2、16位/32位双指令集
1.3、全球众多的合作伙伴(市场大,环境生态好)

2、当前ARM体系结构的扩充包括
2.1、thumb:16位指令集,用以改善代码密度
2.2、DSP:用于DSP应用的算数运算指令集
2.3、jazeller:允许直接执行Java代码的扩充

3、ARM处理器系列提供的解决方案包括:(ARM公司并不造处理器,而是将解决方案的知识产权卖给半导体公司让他们造)
3.1、在无线、消费电子和图像应用方面的开放平台
3.2、智能卡和SIM卡的安全应用

ARM体系结构,ARM7TDMI

一、ARM体系结构的主要特征
1、大量的寄存器,都可用域多种用途
2、load-store体系结构
3、3地址指令(两个源操作数寄存器和结果寄存器独立设定)
4、每条指令条件执行包含非常强大的多寄存器load和store指令
5、能在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作
6、能通过协处理器指令集来扩展ARM指令集,包括在编程模式下增加了新的寄存器和数据类型。
7、在thumb体系中以高密度16位压缩性时表示指令集

二、ARM7 TDMI的指令流水线

嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第4张图片
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第5张图片

三、处理器的操作状态
1、arm7TDMI处理器有两种操作状态
1.1、arm-32-bit,按字排列的arm指令集
1.2、thumb-16-bit,按半字排列的thumb指令集

2、arm7TDMI核的操作状态可能通过BX指令(分支和交换指令)在arm状态和thumb状态之间切换
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第6张图片

四、存储器可以兼容小端和大端存储,通过特定引脚以作区别
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第7张图片

五、操作模式,ARM7TDMI有7种模式:
1、用户模式(usr)正常的程序执行模式
2、快速中断模式(fiq,fast interrupt request):支持高速数据传输或通道处理
3、中断模式(irq,interrupt request):用于通用中断处理
4、管理员模式(svc,super visor):操作系统的保护模式
5、中止模式(abt,abort):支持虚拟内存和/或内存保护
6、系统模式(sys,system):支持操作系统的特殊用户模式(运行操作系统任务)
7、未定义模式(und,undefined):支持硬件协处理器的软件仿真,
除了用户模式外,其它模式均可视为特权模式。

六、ARM7TDMI寄存器信息
0、寄存器含义:
0.1、CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
0.2、寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
0.3、作用上:可将寄存器内的数据执行算术及逻辑运算;存于寄存器内的地址可用来指向内存的某个位置,即寻址;可以用来读写数据到电脑的周边设备。

1、一共37个寄存器
1.1、31个通用32位寄存器,包括程序寄存器PC
1.2、6个状态寄存器
15个通用寄存器(R0~R14),以及1或者2个状态寄存器和程序计数器在任何时候都是可见的。

2、可见的寄存器取决于处理器的模式,其它寄存器的状态在支持IRQ,FIQ,管理员,中止和未定义模式处理时被切换。

3、寄存器分配
R0-R15可以直接访问
R0到R14是通用寄存器
R13:堆栈指针sp(通常),每种处理器操作模式都有单独的堆栈
R14:连接寄存器lr,存放返回的地址,中断到来时用于保存当前的运行位置
R15包含程序计数器PC
CPSR-当前程序状态寄存器,包括代码标志状态和当前模式位
5个SPSRs——程序状态保存寄存器,当异常发生时保存CPSR状态

4、寄存器分配表

嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第8张图片

七、程序状态寄存器
1、ARM7TDMI包含当前程序状态寄存器CPSR,加上5个 程序状态保存寄存器SPSR,当异常发生时,SPSR会保存CPSR的状态。
1.1、当中断到来时,CPSR将自己的信息保存到SPSR中,当中断执行完以后,CPSR从SPSR中读取之前保存的信息,恢复场景,快速的完成模式切换。

2、这些寄存器的功能是:
2.1、包括关于最近执行的ALU(算术逻辑单元)操作的信息
2.2、控制终端的使用和禁止
2.3、设置处理器操作模式

CPSR示意图
在这里插入图片描述

3、N,Z,C,V条件码标志
3.1、可以在处理器中作为数学和逻辑操作改变。
3.2、可以被所有的指令测试,以决定指令是否被执行。
3.3、N:negative,当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
3.4、Z:Zero,Z=1表示运算的结果为零,Z=0表示运算的结果非零。
3.5、C:carry,可以有4种方法设置C的值:
A、加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
B、减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
C、对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
D、对于其它的非加/减运算指令,C的值通常不会改变。

3.6、V:overflow,可以有2种方法设置V的值:
A、对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
B、对于其它的非加/减运算指令,V的值通常不会改变。

4、中断禁止位I,F
4.1、I是普通中断控制位,设置该位可以关闭普通中断
4.2、F的快速中断控制位,设置该位可以关闭快速中断

5、模式位M0~M4,是5个bit,用于表示CPSR的当前模式
5.1、10000:用户模式
5.2、10001:FIQ模式,快速中断
5.3、10010:IRQ模式,中断
5.4、10011:管理模式
5.5、10111:中止模式
5.6、11011:未定义模式
5.7、11111:系统模式

6、不同模式下可访问的寄存器
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第9张图片

八、ARM中断模式和产生
1、程序正常执行中断,处理外围设备的中断
1.1、保证在执行流水线中当前正在执行的指令

2、异常类型
2.1、FIQ快速中断模式
A、通过在你FIQ引脚上输入低电平产生
B、快速处理通道传送数据

2.2、IRQ中断模式
A、通过在IRQ引脚上输入低电平产生中断

2.3、ABORT终止模式
A、在外部ABORT产生信号
B、指示当前存储器访问不能被完成

2.4、software interrupt软件中断
A、通过软件中断产生
B、进行管理员模式中获得
C、通常要求特殊的管理功能,如操作系统支持

九、ARM中断的类型和优先级
1、异常类型
1.1、未定义的指令陷阱
1.2、当ARM接收到一条不能处理的指令,ARM把这条指令提供给任何一个协处理器执行
1.3、如果协处理器可以执行这条指令但协处理器正忙,ARM将等待直到协处理器准备好或中断发生。
1.4、如果没有协处理器处理这条指令,ARM将处理未定义的指令陷阱。

2、异常优先级(从高到低)
2.1、Reset(highest priority)
2.2、data abort
2.3、FIQ
2.4、IRQ
2.5、Prefetch abort
2.6、未定义指令,software interrupt(lowest priority)

3、中断向量分配表
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第10张图片

十、进入和退出异常
1、连接寄存器LR
1.1、记录异常到来时的程序当前运行位置,当到来的异常运行结束后,返回到之前被打断的地方继续运行。
1.2、ARM处理器中使用 R14实现对断点和调用点的记录,即使用R14用作返 回连接寄存器(LR)
1.3、ARM处理器相应异常时,会自动完成将当前的PC保存到LR寄存器。
1.4、ARM处理器执行子程序调用指令(BL )时,会自动完成将当前的PC的值减去4的结果数据保存到LR寄存器。即将调用指令的下紧邻指令的地址保存到LR。
1.5、ARM处理器针对不同的模式,共有6个链接寄存器资源(LR ),其中用户模式和系统模式共用一个 LR,每种异常模式都有各自专用的R14 寄存器(LR )。这些链接寄存器分别为 R14、R14_svc、R14_abt、R14_und、R14_irq、R14_fiq,不同模式下的R14 不是同一个物理资源

2、进入异常的操作
2.1、在相应的连接寄存器LR(r14)中保存下一条指令的地址
2.2、将CPSR复制到相应的SPSR中
2.3、强制使CPSR模式位置为对应异常类型的值
2.4、强制使重新计数器指向相应异常向量,取下一条指令

3、退出异常的操作
3.1、将LR寄存器中的值减去相应的便宜推动到PC中
3.2、将SPSR副指挥CPSR
3.3、如果中断禁止标志被设置为使能,清除禁止中断标志。

4、进入和退出中断的相关指令
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第11张图片

十一、ARM指令集格式和特点
1、条件指令
指令的第28位到31位是条件,满足条件的时候才会执行指令

嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第12张图片

十二、ARM7和ARM9的区别
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第13张图片

ARM JTAG调试接口

一、嵌入式系统的调试手段
1、嵌入式系统无法支持使用强大但占用较多空间的调试器

2、典型的调试方法
2.1、指令集模拟器:利用PC上的仿真开发软件模拟调试程序运行的情况,实时性较差
2.2、驻留监控软件:在目标板上运行驻留软件,PC机端调试软件可通过并口、串口、网口与之交互,完成程序执行、存储器以及寄存器读写,断点设置等任务;对初始开发有影响。
2.3、JTAG仿真器:通过ARM芯片的JTAG边界扫描与ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段。

嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第14张图片

2.4、在线仿真器:使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的行为,但结构较复杂,价格昂贵,通常用于ARM硬件开发中。

3、ARM的JTAG调试结构
嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第15张图片

3.1、JTAG全称Joint test action group,是IEEE1149.1的标准
3.2、JTAG的简历是的集成电路固定在PCB上,只通过边界扫描就可以被调试
3.3、在arm7TDMI处理器中,空调已通过JTAG直接控制arm的内部总线,IO口等信息,从而达到调试的目的

4、JTAG的典型接口
4.1、TMS:测试模式选择test mode select,通过TMS信号控制JTAG状态机的状态,是个串口
4.2、TCK:JTAG的时钟信号
4.3、TDI:数据输入信号
4.4、TDO:数据输出信号
4.5、nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元,进入初始状态
4.6、JTAG状态机TAP,可以看到JTAG调试的流程和驱动的因素

嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口_第16张图片

你可能感兴趣的:(嵌入式系统,嵌入式硬件,系统架构)