新闻中心

EEPW首页>嵌入式系统>设计应用> ARM处理器的工作模式(一)

ARM处理器的工作模式(一)

作者: 时间:2016-11-21 来源:网络 收藏
实验目的:
1. 掌握 ARM的各种 工作模式
2. 熟悉ARM各种工作模式下的寄存器
3. 学会使用软件实现ARM工作模式间的切换。
实验内容:
使用MSR/MRS指令切换工作模式,并初始化各工作模式下的 堆栈指针
观察ARM在各种工作模式下寄存器的区别。
观察ARM在各种工作模式间切换时各寄存器的变化情况。


实验一 使用MSR/MRS指令切换工作模式实验(ARM7)(exp9_exa.s)
AREA INIT,CODE,READONLY
ENTRY
B RESET_HANDLER ;管理模式SVC
UNDEFINED_HANDLER
B UNDEFINED_HANDLER
B SWI_HANDLER
PREFETCH_HANDLER
B PREFETCH_HANDLER
ABORT_HANDLER
B ABORT_HANDLER
NOP
IRQ_HANDLER
B IRQ_HANDLER
FIQ_HANDLER
B FIQ_HANDLER
SWI_HANDLER
MOV PC,LR

RESET_HANDLER
MOV R0,#0X000001F0 ;初始化R0( IFT=1;用户模式
LDR R1,=0xF0000000
STR R0,[R1] ;保存R0
MRS R0,CPSR ;CPSR——>R0
MOV R13,#1 ;写入R13=1
MOV R14,#2 ;写入R14=2

MRS R0,CPSR ;CPSR——>R0
LDR R1,=0xF0000000
STR R0,[R1] ;保存R0


BIC R0,R0,#0x1F
ORR R0,R0,#0x10 ;改写R0
MSR CPSR_c,R0 ;R0——> CPSR (切换至用户模式USR)
MOV R13,#3 ;写入R13=3

MOV R14,#4 ;写入R14=4

STOP B STOP
END
本实验使用MSR/MRS指令完成系统初始化过程中从管理模式到用户模式的切换,采用ARMmulator方式调试,选用ARM7作为目标 处理器
单步运行程序,观察ARM寄存器、存储空间和工作模式的变化情况,并填入表中。
序号 执行指令 指令执行后的变化情况
寄存器 存储空间 工作模式
R0 R1 R13_SVC R14_SVC R13_USR R13_USR R15 CPSR 0xF000000
0
1 B RESET_HANDLER
2 MOV R0,#0X000001F0
3 LDR R1,=0xF0000000
4 STR R0,[R1]
5 MRS R0,CPSR
6 MOV R13,#1
7 MOV R14,#2
8 MRS R0,CPSR
9 BIC R0,R0,#0x1F
10 ORR R0,R0,#0x10
11 MSR CPSR_c,R0
12 MOV R13,#3
13 MOV R14,#4



关键词:ARM处理器工作模

评论


技术专区

关闭