2嵌入式处理器
2015-09-12 13:19:10 15 举报
AI智能生成
嵌入式处理器
作者其他创作
大纲/内容
2.3典型ARM处理器内核
2.3.1ARM内核命名
2.3.2ARM9典型内核ARM920T
2.3.3Cotex-A典型内核
2.3.4Cotex-M典型内核
2.3.5Cotex-R典型内核
2.4ARM处理器指令系统
2.4.1ARM指令分类及指令格式
分类
分支指令
数据处理指令
程序状态寄存器处理指令
加载/存储指令
协处理器指令
异常产生指令
ARM指令格式
指令一般格式
<opcode>{<cond>}{S} <Rd>,<Rn>{,<op2>}
子主题
指令的条件域
ARM指令中操作数符号
2.4.2ARM指令的寻址方式
立即寻址
寄存器寻址
寄存器间接寻址
基址加变址寻址
堆栈寻址
满递增堆栈
满递减堆栈
空递增堆栈
空递减堆栈
块拷贝寻址
2.4.3ARM指令集
数据处理类指令
数据传送指令
算术逻辑运算指令
比较指令
程序状态寄存器访问指令
MRS
状态寄存器到通用寄存器
MSR
通用寄存器到状态寄存器
分支指令
B转移指令
BL带返回的转移指令
BLX带返回且带状态切换的转移指令
BX带状态切换的转移指令
加载存储指令
单一数据加载存储
LDR
LDRB
LDRH
STR
STRB
STRH
批量数据加载存储
指令类型
批量数据加载指令LDM
批量数据存储指令STM
传送数据类型
IA
IB
DA
DB
数据交换指令
CDP
LDC
STC
MCR
MRC
异常中断指令
SWI软件中断指令
BKPT断电中断指令
2.4.4Thumb指令集
数据处理指令
分支指令
加载/存储指令
2.4.5Thumb-2指令集
数据处理指令
分支指令与程序状态指令
加载/存储指令
2.4.6ARM处理器支持的伪指令
ADR伪指令
LDR伪指令
NOP空操作
2.1典型嵌入式处理器概述
2.1.1嵌入式处理器主要内核系列
按指令集结构分
复杂指令集结构(CISC)
简单指令集结构(RISC)
按存储机制分
冯,诺依曼结构
哈佛结构
按字长分
8位
16位
32位
64位
按不同内核系列分
51
AVR
PIC
MSP430
MIPS
PowerPC
MC68k
Coldfire
ARM
2.1.2ARM处理器的主要特点
单周期操作
采用加载/存储指令访问内存
固定的32位长指令
三地址指令格式
指令流水线技术
2.2ARM处理器体系结构
2.2.1ARM处理器内核的发展
2.2.2ARM处理器内核分类
经典ARM处理器
ARM7
ARM9
ARM11
嵌入式Cortex处理器
Cortex-R
Cortex-M
应用型Cortex处理器
Cortex-A
2.2.3ARM工作状态及工作模式
工作状态
ARM状态
Thumb状态
Thumb-2状态
调试状态
工作模式
用户模式User
快速中断模式FIQ
外部中断模式IRQ
管理模式SVC
中止模式ABT
未定义指令模式UND
系统模式SYS
工作模式切换
由ARM状态切换到Thumb状态
BX指令将操作数寄存器最低位设置为1
由Thumb状态切换到ARM状态
BX指令将操作数寄存器最低位设置为0
2.2.4ARM处理器的寄存器组织
ARM状态下的寄存器组织
通用寄存器
状态寄存器
Thumb/Thumb-2状态洗的寄存器组织
2.2.5ARM处理器的异常
异常类型
复位RESET
未定义的指令UND
软件指令SWI
指令预取中止PABT
数据访问中止DABT
外部中断请求IRQ
快速中断请求FIQ
ARM异常的中断响应过程
从异常处理程序中返回
2.2.6ARM的存储器格式及数据类型
ARM中存储字的格式
大端模式
小端模式
ARM存储器的数据类型
有/无符号数字节(8位)
有/无符号数半字(16位)
有/无符号数字(32位)
ARM指令长度
32位(ARM状态下)且必须以字为边界对齐
16位(Thumb状态下)且必须以两字节为边界对齐
2.2.7ARM处理器中MMU和MPU
ARM处理器中的MMU
功能
虚拟地址到物理地址映射
存储访问权限控制
存储器访问顺序
1TLB转换表
2主存储器页表
3异常产生中断通知os处理
ARM处理器中的MPU
2.5ARM汇编语言程序设计
2.5.1ARM汇编器所支持的伪指令
符号定义伪指令
定义全局变量
GBLA/GBLL/GBLS
定义局部变量
LBLA/LBLL/LBLS
用于变量赋值
SETA/SETL/SETS
通用寄存器列表定义
RLIST
数据定义伪指令
汇编控制伪指令
IF ELSE ENDIF
WHILE WEND
MACRO MEND
MEXIT
其他常用伪指令
AREA段定义
属性
CODE属性
DATA属性
READONLY属性
READWRITE属性
ALIGN属性
COMMON属性
2.5.2ARM汇编语言的语句格式
汇编语言程序中常用的符号
汇编语言程序中的表达式和运算符
2.5.3汇编语言的程序结构
2.5.4ARM汇编语言程序设计
顺序程序设计
分支程序设计
循环程序设计
子程序设计
多段结构程序设计
2.5.5嵌入式C语言与汇编语言混合程序设计
C语言调用汇编语言
汇编语言程序调用C语言程序
C语言程序嵌入汇编语言程序的方法
0 条评论
下一页