嵌入式操作系统实验

发布 2022-10-21 10:09:28 阅读 7474

浙江大学城市学院实验报告。

课程名称: 嵌入式操作系统实验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个用户任务,其内核为占先式,支持信号量 邮箱 消息对列等多种进程间通信机制。...