郑州航空工业管理学院。
20 13 – 20 14 第 2 学期。
赵成,张克新
院系。姓名。
专业。学号。
电子通信工程系。
2023年3月制。
一、实验目的。
了解arm9 s3c2410a嵌入式微处理器芯片的体系结构,熟悉arm微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握arm指令系统,能在ads1.2 ide中进行arm汇编语言程序设计。
二、实验内容。
1.ads1.2 ide的安装、环境配置及工程项目的建立;
2.arm汇编语言程序设计(参考附录a):
1)两个寄存器值相加;
2)ldr、str指令操作;
3)使用多寄存器传送指令进行数据复制;
4)使用查表法实现程序跳转;
5)使用bx指令切换处理器状态;
6)微处理器工作模式切换;
三、预备知识。
了解arm嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。
四、实验设备。
1. 硬件环境配置。
计算机:intel(r) pentium(r) 及以上;
内存:1gb及以上;
实验设备:up-netarm2410-s嵌入式开发平台,j-link v8**器;
2. 软件环境配置。
操作系统:microsoft windows xp professional service pack 2;
集成开发环境:arm developer suite (ads) 1.2。
五、实验分析。
1.安装的ads1.2 ide中包括 codewarrior 和 axd dubugger 两个软件组件。在ads1.
2中建立 arm executable image(arm可执行映像) 类型的工程,工程目标配置为 debug ;接着,还需要对工程进行目标设置 、 语言设置及链接器设置;最后,配置**环境为 armul **方式。
2.写出arm汇编语言的最简程序结构,然后在**段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。
文件名:
area xtf,code,readonly ;声明**段xtf
entry标识程序入口。
code32声明32位arm指令。
sart mov r1,#1设置参数。
mov r2,#
add r0,r1,r2 ;r0<--r1+r2
halt b halt死循环。
end结束程序段
3.列写出使用ldr、str指令的汇编程序,并在关键语句后面给出相应的注释。
area xtf,code,readonly ;声明**段xtf
entry标示程序入口。
code32声明32位arm指令。
start ldr r0,=1加载数据。
ldr r1,=2
ldr r3,=addr_1载符号地址。
add r2,r0,r1r2<--r0+r1
str r2,[r3r2---r3]
数据空间定义
area data_1,data,align=2
addr_1 dcd 0
end结束。
4.“使用多寄存器传送指令进行数据复制”汇编程序分析。
ldr r0,=srcdata执行后,r0的值是标号srcdata的地址。
ldr r1,=dstdata执行后,r1的值是标号dstdatad 的地址。
ldmia r0,{r2-r9ldmia中的指令后缀ia表示 increase after,即每次传送后地址加4,[r0]--r2,[r0+4]--r3,…,r0+28]--r9
stmia r1,{r2-r9执行后,程序实现的功能是 [r1]<-r2,[r1+4]<-r3,,[r1+28]<-r9
5.在“使用查表法实现程序跳转”的汇编程序中,指令ldr pc,[pc,r2]采用的是什么寻址方式?作为基址的寄存器pc的值是多少?作为指令指针的pc又指向哪条指令?
这个指令与流水线执行的关系是什么?(选做)
答: 1)基址加变址寻址;2)pc<--pc+r2],即pc中存放的是当前pc值加上寄存器r2中的内容形成的有效地址中的操作数;3)对于arm指令集,pc总是只想当前指令的下两条指令,即pc的值为当前指令的地址值加上8个字节(每条指令占4个字节)。
6.通过运行及观察“使用bx指令切换处理器状态”汇编程序实验,回答arm指令与thumb指令之间是如何实现状态切换的?axd debugger调试环境中的哪个寄存器指示了arm微处理器当前的指令状态?同时,在程序中添加从thumb指令切换到arm指令的**。
(选做)
嵌入式系统实验报告
嵌入式系统实验报告内容。第一章 arm2410cl嵌入式系统基础实验。实验一arm2410cl嵌入式教学实验系统。实验报告要求 简述嵌入式linux开发的流程。实验二。嵌入式linux开发环境的配置。实验报告要求 1 简述嵌入式linux开发环境配置的具体步骤。2 简述网络文件系统 nfs 第二章 ...
嵌入式系统实验报告
本科实验报告。1.实验原理 本实验使用xmanager enterprise软件来连接老师配置好的linux服务器,以完成实验中使用linux完成编译和 运行一个嵌入式系统。实验中使用u boot作为系统的bootloader,使一个嵌入式linux系统完成编译并模拟在另一台机器上 并执行操作。u ...
嵌入式系统实验报告
姓名 班级 学号 实验一 流水灯。实验要求 编写一个程序,是开发板上的的3个led灯按流水灯方式闪烁。实验工具 超级终端开发板,电脑。实验程序如下 汇编指令实验 定义端口e寄存器预定义。rgpbcon equ 0x56000010 rgpbdat equ 0x56000014 rgpbup equ ...