实验三arm工作模式切换实验

实验三arm工作模式切换实验

ID:22286300

大小:125.52 KB

页数:6页

时间:2018-10-28

实验三arm工作模式切换实验_第1页
实验三arm工作模式切换实验_第2页
实验三arm工作模式切换实验_第3页
实验三arm工作模式切换实验_第4页
实验三arm工作模式切换实验_第5页
资源描述:

《实验三arm工作模式切换实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验三ARM工作模式切换实验一、实验目的1.掌握ARM的各种工作模式2.熟悉ARM各种工作模式下的寄存器3.学会使用软件编程实现ARM工作模式间的切换二.实验内容和步骤任务:使用MSR/MRS指令切换工作模式(ARM9)(1)创建项目,并添加shiyan3.s源文件,文件内容如下:程序解读:本程序使用MSR/MRS指令完成系统初始化过程从管理模式到用户模式的切换,采用Softsim方式调试,选用ARM9TDMI作为目标处理器。.text.global一startstart:/*安装中断向量表*//*只定义了Re

2、setHandler入口,其它中断跳转到自身*/BReset_HandlerUndefined_Handler:BUndefined_HandIerBSWI.HandlerPrefetchHandler:BPrefetchHandlerIRQ_Handler:FIQ_Handler:SWLHandler:MOVPC,LRNOPBIRQ_HandlerBFIQ_Handler/*intoSystemMRSrO,CPSRBIGrO,rO,#0x1FORRrO,rO,#0x1FMSRCPSR,r0/*intoFIQm

3、odeMRSrO,CPSRBIGrO,rO,#0x1FORRrO,rO,#0x11MSRCPSR,r0ResetHandler:*/*//*注意在调试器中观察该模式下的寄存器r8-r14有无发生变化*//*intoSVCmode*/MRSrO,CPSRBIGrO,rO,#0x1FORRrO,rO,#0x13MSRCPSR,rO/*注意在调试器中观察该模式下的寄存器r13-r14有无发生变化*//*intoAbortmode*/MRSrO,CPSRBIGrO,rO,#0x1FORRrO,rO,#0x17MSRCP

4、SR,rO/*注意在调试器中观察该模式下的寄存器H3-r14有无发生变化*//*intoIRQmode*/MRSrO,CPSRBICrO,rO,#0x1FORRrO,rO,#0x12MSRCPSR,rO/*注意在调试器中观察该模式下的寄存器r13-r14有无发生变化*//*intoUNDEFmode*/MRSrO,CPSRBICrO,rO,#0x1FORRrO,rO,#0x1bMSRCPSR,rO/*注意在调试器中观察该模式下的寄存器r13-r14有无发生变化*/(2)通过单步运行程序,观察相关寄存器和存储器相

5、应地址上的值的变化情况,记录在表1中,并读懂程序,然后阅读代码手工计算每一步的执行结果,核对和之前你在表上填的值是否一致。表1shiyan3.s单步运行结果序执行指令指令执行后的变化情况(用十六进制表示)寄存器R0R1R13R14R15CPSR其他工作模式0X00000X00000X00000X0000SVC000D30000000000000X00000X00000X00000X0000SVC100D308000BA480240X00000X00000X00000X0000SVC200C008000BA480

6、280X00000X00000X00000X0000SVC300DF08000BA4802C0X00000X00000X00000X0000SVC400DF08000BA480300X00000X00000X00000X00000X0000SVC500DF00000000803400DF0X00000X00000X00000X00000X0000SVC600DF00000000803800DF70X00000X00000X00000X00000X0000USER00C000000000803C00DF0X000

7、00X00000X00000X00000X0000USER800D100000000803C00DF0X00000X00000X00000X00000X0000FIQ900D100000000804400D10X00000X00000X00000X00000X0000FIQ1000D100000000804800D10X00000X00000X00000X00000X0000FIQ1100C000000000804C00D10X00000X00000X00000X00000X0000FIQ1200D300000

8、000805000D10X00000X00000X00000X00000X0000SVC1300D300000BA4805400D33、用不同代码实现同样处理器模式切换的功能(如直接修改CPSR某个域的值)1.增加进入用户模式的程序2.增加禁止IRQ中断的程序3.思考如果进入了用户模式后,能否进入其他处理器模式,原因是什么?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。