1 / 28
文档名称:

ARM嵌入式系统实验报告.docx

格式:docx   大小:172KB   页数:28页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ARM嵌入式系统实验报告.docx

上传人:565369829 2022/3/21 文件大小:172 KB

下载得到文件列表

ARM嵌入式系统实验报告.docx

文档介绍

文档介绍:郑州航空工业治理学院
嵌入式系统实验报告
20 13 - 20 14 第 2 学期
赵成,张克新
系名业理器状态〞汇编程序实验,答复ARM指令 与Thumb指令之间是如何实现状态切换的? AXD Debugger调试环境中的哪个存放器指示 f ARM微处理器当前的指令状态?同时,在程序中添加从Thumb指令切换到ARM指令的 代码.〔选做〕
答:1〕 BX指令使用存放器作为参数,当32位操作数存放器的第0位的值为1时,执 行BX指令后,ARM处理器从16位半字节对齐ARM指令状态切换到32位字对齐Thumb 指令状态;当32位操作数存放器的第0位为0时,ARM处理器从Thumb指令状态切换到 32位ARM指令状态.
2〕 CPSR 的 value 值为 nzcvqlF^SVC 时为 ARM32 指令状态:为 nzcvqIFT_SVC 时 为Thumb 16指令状态
:丙明代码段XTF
:标讲程序入口
:丙期32位ARM指令
:设H参数
3 〕 . READONLY
ENTRY
CODE32
SART MOV KL«1
;R0<.«RI+R2
MOV R2,#2
ADD
:HALT
B HALT
LDR R3. =IiHo_Thumb+l :将 地址ffilJII I •再赋给 R3
:产生跳鞋地址并且设HB低位
R3 :地址值位0为I •将进入THUMB状态
:Brunch Exchange 进入 Thumb 状占
:Thumb状态"勺子的«• 16位对齐
BX
CODEI6
lnlo_Thuinb
MOV
MOV
ADD
R5J6
R6・W

LDR R3. =Bachjo_ARM :将 Back_lo_ARM 地址值城给 R3
:产生字对齐的跳转地址•最低位被去除•即bilO为0
BX R3
CODE32
Bach_lo_ARM
MOV
MOV
ADD
END
:Branch Exchange返回到ARM状公•此时运行在ARM摇令集环境里 :ARM状占卜•的子曲数
R8,W

&R9
7・观察“微处理器工作模式切换〞程序的运行,按顺序写出ARM工作模式切换过程 中依次出现的工作模式,同时,通过观察答复ARM微处理器是否能从用户模式切换到特权 模式?〔选做〕
答:
1〕 Usr〔用户〕->Sys 〔系统〕今Fiq 〔快中断〕今Sve 〔治理〕今Abt〔终止〕今Irq 〔中断〕 今Und 〔未泄义〕
2〕 用户模式不能直接切换到其他处理模式〔特权模式〕,特权模式可以自由切换到其他 处理器模式.
程序:
AREA Work mode
ENTRY
:入口
CODE32
now in SVC mode
ARM处理SW认工作在SVC復式M=IOO11
切换®理:CPSR册低8位I. h\「M位用作用制位,当异常出现时改变用位.
«中•中斷标志位I、F:播令状态标志T:工作模式位M|4fl|
通过软件限制模式位M即吋菲制ARM工作状;^5,
:inlo_Sys_nMxi
:系统帜式卜3运行貝冇特权的操作系统任务■«式・
MRS
:复制CPSR到R0
BIC RO・RO・#OxlF
洎除RO的后5位
ORR
:设定RO的a后5位为1HII
MSR CPSR
:
MOVR13.#I
:对系统K式RB赋值〔RO・R⑷
;inlo_Fiq_m(xlc
:用于高速数据传输或通道处理-Fiq舁常响炖时进入此R式
MRS
:夏制CPSR到R0
BIC RO・RO.#OxlF
:淸楚RO的后5位

:设定RO的J8后5位为10001
MSR CPSR
:把RO裝在到CPS1C切换到快中斷K戌
MOV R 13*2
:对快中斷模式卜的RI3赋值(RIMU4)
ORR
:设定RO的a后5位为100H
MSR CPSR
:«式
MOVR13.«
:对快治理模戌下的特有缓冲器R13赋K(RI3-RI4)
:into Abl mode
:可用干虚拟存储及存保护•当数据或播令«脈络