浙江大学城市学院实验报告。
课程名称: 嵌入式操作系统实验3 实验名称: arm工作模式切换程序设计与调试
学生姓名专业学号。
同组学生姓名指导老师成绩。
一、实验目的。
本实验主要的内容是在codewirrior ide下创建工程;并设置汇编程序开发的相应环境。然后,设置ide的属性。本实验在实验2的基础上,对arm工作模式切换程序设计与调试。
1)掌握arm的各种工作模式。
2)熟悉arm各种工作模式下的寄存器的应用。
3)学会使用软件编程实现arm工作模式间的切换。
二、实验内容。
对arm工作模式切换程序设计与调试。ar工作模式间的切换主要有两种方式:软件切换与硬件切换。问:
1)软件模式下使用什么指令进行切换?
2)硬件切换通过什么来改变arm工作模式?
三、实验设备。
1.教学实验箱,pentiumii 以上的pc 机,硬件多功能**器。
2.pc操作系统win98或win2000或winxp,ads1.2集成开发环境,**器驱动程序。
四、实验步骤。
任务1:ar工作模式切换程序。
(注意:建立工程模仿下列步骤做,但要求工程名为自己的学号c)
1.新建arm工程。
2.把汇编程序添加到工程中。
area inti,code,readonly
entryb reset_handler
undefined_handler
b undefined_handler
b swi_handler
prefetch_handler
b prefetch_handler
abort_handler
b abort_handler
nopirq_handler
b irq_handler
fiq_handler
b fiq_handler
swi_handler
mov pc,lr
reset_handler
mov r0,#0x000001f0
ldr r1,=0xf0000000
str r0,[r1]
mrs r0,cpsr
mov r13,#
mov r14,#
mrs r0,cpsr
bic r0,r0,#0x1f
orr r0,r0,#0x10
msr cpsr_c,r0
mov r13,#
mov r14,#
stop b stop
end3.设置。
1)assembler选项中的target选项卡。
4.编译。5.打开arm调试器axdptions->configure target选项,打开choose target对话框,在choose target中选择arm点击configger按扭,选择处理器arm7tdmi,点击ok。
6.载入映像文件*.axf
7.观察处理器窗口。
1)选择processor views->disassembly,打开arm反汇编窗口;
2)选择processor views->registers,打开arm寄存器窗口;
3)选择processor views->memory,打开arm存储器窗口;在memory start address地址栏中输入地址0xf0000000
8.单步运行程序,观察arm寄存器、存储空间和工作模式的变化情况。
9.完成下列**:
10.通过网络查找,解释程序的含义,要求在语句后以解释的方式对每一条语句给出解释(不同颜色),然后写出整个程序的含义。
任务2:调试方法。
(注意:建立工程模仿下列步骤做,但要求工程名为自己的学号d)
1.新建arm工程。
2 把汇编程序添加到工程中。
注意:程序中有意给出2个很简单的错误,在程序调试中需要自己解决。
area init_stack,code,readonly
entrystart mov r1,#
bl init_stack
mrs r1,cpsr
bic r1,r1,#0x80
msr cpsr_cxsf,r1
msr cpsr_c,#0xd0
mrs r3,cpsr
bic r3,r3,#0x80
msr cpsr_cxsf,r3
msr cpsr_c,#0xdf
stop b stop
init_stack mov r0,lr
ldr sp,p_svc_stk
msr cpsr_c,#0xd2
ldr sp,p_irq_stk
msr cpsr_c,#0xd1
ldr sp,p_fiq_stk
stmed sp!,nop
msr cpsr_c,#0xd7
ldr sp,p_abt_stk
msr cpsr_c,#0xdb
ldr sp,p_und_stk
msr cpsr_c,#0xdf
ldr sp,p_usr_stk
mov pc,r0
;定义各工作模式下的堆栈长度。
usr_stk_len equ 4
svc_stk_len equ 4
irq_stk_len equ 4
fiq_stk_len equ 4
abt_stk_len equ 4
und_stk_len equ 4
;定义各工作模式下的堆栈指针。
p_usr_stk dcd usr_stk_spc + usr_stk_len-1)*4
p_svc_stk dcd svc_stk_spc + svc_stk_len-1)*4
p_irq_stk dcd irq_stk_spc + irq_stk_len-1)*4
p_fiq_stk dcd fiq_stk_spc + fiq_stk_len-1)*4
p_abt_stk dcd abt_stk_spc + abt_stk_len-1)*4
p_und_stk dcd und_stk_spc + und_stk_len-1)*4
;定义各工作模式下的堆栈空间。
area stacks,date,readwrite
usr_stk_spc space usr_stk_len*4
svc_stk_spc space svc_stk_len*4
irq_stk_spc space irq_stk_len*4
fiq_stk_spc space fiq_stk_len*4
abt_stk_spc space abt_stk_len*4
und_stk_spc space und_stk_len*4
end3设置。
1)assembler选项中的target选项卡。
4.编译。5.
打开arm调试器axdptions->configure target选项,打开choose target对话框,在choose target中选择arm点击configger按扭,选择处理器arm7tdmi,点击ok。
6.载入映像文件*.axf
7.观察处理器窗口。
1)选择processor views->disassembly,打开arm反汇编窗口;
2)选择processor views->registers,打开arm寄存器窗口;
3)选择processor views->memory,打开arm存储器窗口;在memory start address地址栏中输入地址0xf0000000
10.单步运行程序,观察arm寄存器、存储空间和工作模式的变化情况。
11.完成下列**:
12. 回答:程序**现了哪两个错误?出现错误的原因分别是什么?
13. 通过网络查找,解释程序的含义,要求在语句后以解释的方式对每一条语句给出解释(不同颜色),然后写出整个程序的含义。
五、实验步骤记录。
六、实验心得。
嵌入式Linux操作系统实验
实验3 1 vi使用。实验目的 学会用vi编辑器。实验要求 熟练使用该节所介绍的vi创建 编辑 保存文件。实验器材 软件 1.安装了ubunt的vmware虚拟机。硬件 pc机一台。实验步骤 1.在当前目录下键入命令vi 创建名为的文。上图是在命令行模式下。2.键入i进入插入模式。3.在插入模式下输...
嵌入式操作系统
嵌入式操作系统eos embedded operatingsystem 是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。eos负责嵌人系统的全部软 硬件资源的分配 调度工作,控制协调并发活动 它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应...
嵌入式操作系统
嵌入式课程设计。uc os内核分析。uc os 是由micrium公司设计,源 完全的实时嵌入式操作系统,而且是第一个公开内核实现机制的实时操作系统。uc os 结构非常紧凑,使用也很简单。uc os 功能比较强大,支持56个用户任务,其内核为占先式,支持信号量 邮箱 消息对列等多种进程间通信机制。...