1 / 9
文档名称:

2025年大学ARM嵌入式实验报告范文.pdf

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

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

分享

预览

2025年大学ARM嵌入式实验报告范文.pdf

上传人:小屁孩 2025/2/27 文件大小:332 KB

下载得到文件列表

2025年大学ARM嵌入式实验报告范文.pdf

相关文档

文档介绍

文档介绍:该【2025年大学ARM嵌入式实验报告范文 】是由【小屁孩】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【2025年大学ARM嵌入式实验报告范文 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。 : .
子曰:“知者不惑,仁者不忧,勇者不惧。” ——《论语》
ARM嵌入式实验报告范文
《嵌入式系统》
实验报告
姓名:学号:班级:
2025 年 4 月
ARM汇编指令实验1
一、实验目的
1.初步学会使用 开发环境及 ARM软件模拟器; 2.通过实验
掌握简单 ARM汇编指令的使用方法。
二.实验设备
1.硬件: PC机;
2.软件: 集成开发环境。 Window98/2000/NT/ 某 P。
三.实验内容
1.熟悉开发环境的使用,并使用 LDR/STR和 MOV等指令访问寄存器
或存储单元。 2.使用 ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学 /
逻辑运算。
四.实验原理
ARM处理器共有 37 个寄存器: 31 个通用寄存器,包括程序计数器
(PC),这些寄存器都是 32 位;6 个状态寄存器,这些寄存器也是 32 位,
但只使用了其中的 12 位。 : .
去留无意,闲看庭前花开花落;宠辱不惊,漫随天外云卷云舒。——《幽窗小记》
.ARM通用寄存器
通用寄存器( R0~R15)可分为 3 类,即不分组寄存器 R0~R7.分组寄
存器 R8~R14.程序计数器 R15。
2.存储器格式
ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节
0~3 存放第一个字,字节 4~7 存放第 2 个字,以此类推。 ARM体系结构可
以用两种方法存储字数据,分别称为大端格式和小端格式。
五.实验程序
实验 A参考程序某 EQU45:定义变量某,并赋值为 45YEQU64:定义变量 y,
并赋值为 64STACK_TOPEQU0某 1000: 定义栈顶 0 某 1000AREAE某
ample,CODE,READONLY:声明代码段 ENTRY:标识入口
STARTMOVSP,#STACK_TOPMOVR0,#某:某的值放入 R0STRR0,[SP]:R0的值保
存到堆栈 MOVR0,#Y:y的值放入R0LDRR1,[SP]:取堆栈中的数到R1
ADDR0,R0,R1STRR0,[p]
STOPBSTOP:死循环 END:结束 2. 实验 B参考程序
某 EQU45:定义变量某 ,并赋值为 45YEQU64:定义变量 y, 并赋值为
64ZEQU87:定义变量 z, 并赋值为87STACK_TOPEQU0某 1000: 定义堆栈顶 0
某 1000AREAHU某 IANG,CODE,READONLY:声明代码段,只读 ENTRY:标识入
口 START
MOVR0,#某:某的值放入R0MOVR0,R0,LSL#8:R0的值乘以2 的 8 次方
MOVR1,#Y:y的值放入 R1ADDR2,R0,R1,LSR#1:R1的值除以 2 加上r0 的值
放入R2MOVSP,#0某 1000STRR2,[SP]MOVR0,#Z:z的值放入 R0ANDR0,R0,#0
某 FF:取 R0的低八位MOVR1,#Y:y的值放入R1ADDR2,R0,R1,LSR#1:R1的
值除以 2 加上 r0 的值放入R2LDRR0,[SP]:y的值放入 R1MOVR1,#0某 : .
臣心一片磁针石,不指南方不肯休。——文天祥
的值放入 R1ADDR2,R0,R1,LSR#1:R1的值除以 2
加上r0 的值放入R2
死循环 END:结束
六.实验结果及分析
1. 程序 A的实验结果截图如下:
实验分析 ;
本实验使用 LDR、STR、MOV等指令访问寄存器和存储单元,使用堆栈
和寄存器 R0,R1 存储变量。
2. 程序 B的实验结果截图如下:
实验分析:
本实验使用 ADD、SUB、LSL、LSR、AND、ORR等指令,完成基本数学 /
逻辑运算。
实验二ARM汇编指令实验2
一、实验目的
通过实验掌握使用 LDM/STM、B和 BL等指令完成较为复杂的存储区访
问和程序分支,学习使用条件码,加强对 CPSR的认识。
二、实验设备
1.硬件: PC机;
2.软件: 集成开发环境。 Window98/2000/NT/ 某 P。
三、实验内容 : .
丹青不知老将至,贫贱于我如浮云。——杜甫
.熟悉开发环境的使用并完成一块存储区的拷贝;
2.完成分支程序设计,要求判断参数,根据不同参数,调用不同的
子程序。
四、实验原理
1.ARM程序状态存储器
在所有处理器模式下,都可以访问当前程序状态寄存器 CPSR。CPSR
包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。
每种异常模式都有一个程序状态保存寄存器 SPSR。当异常出现时, SPSR
用于保存 CPSR的状态。 CPSR和 SPSR的格式如下:
313029282726876543210NZCVQDNM(RAZ)IFTMMMMM2.本实验涉及到得 a 语
法及规则 1)标号的使用
标号由一个符号后跟一个冒号组成,它表示程序中当前的指令或者数
据地址。如果在程序中出现两个相同的标号,汇编器会产生一个警告,同
时,只有第一个标号有效。2) 几个伪指令( 1)LDR
LDR伪指令讲一个 32 位常数或者一个地址值读取到寄存器中。当需
要读取到寄存器中的数据超过了 MOV或者 MNV指令可以操作的范围时,可
以使用 LDR伪指令将该数据读取到寄存器中。在汇编编译器处理源程序时,
如果该常数没有超过 MOV或者 MNV可以操作的范围,则 LDR指令被这两条
指令中的一条所替代;否则,该常数将被放在最近的一个文字池
(LiteralPool )内,同时,本指令被一条基于 PC的 LDR指令代替。语法
格式
LDR,= : .
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
e 某 preion 为需要读取的 32 位常数。 Regiter 为目标寄存器。
示例
LDRr1,=0 某 ff
LDRr0,=0 某 fff0000(2)ADR
ADR指令将基于PC的地址值或者给予寄存器的地址值读取到寄存器
中。在汇编编译器处理源程序时, ADR伪指令被编译器替换成一条合适的
指令。通常,编译器用一条ADD指
令或者 SUB指令来实现该伪指令的功能。如果标号超出范围或者标号
在他那个一文件(和同一段)内没有定义,则会产生一个错误,该指令不
使用文字池。语法格式
ADR
其中,regiter 为目标寄存器。 Label 为基于 PC 或者寄存器的地址表
达式。示例 Label1 :MOVr0,#25ADRr2,label1(3).ltorg
.ltorg 伪操作用于在当前段(一般是 .Te 某 t 段)的当前地址(字对
准地址)产生一个文字池。语法格式 .Ltorg
五、实验程序
NUMEQU20
AREAHU某 IANG3,CODE,READONLYENTRY
STARTLDRR0,=SRCLDRR1,=DSTMOVR2,#NUMMOVSP,#0某 400
BLKCOPYMOVSR3,R2,LSR#3BEQCOPYWORDSSTMFDSP!,{R4-R11} : .
英雄者,胸怀大志,腹有良策,有包藏宇宙之机,吞吐天地之志者也。——《三国演义》
R11}SUBSR3,R3,#1BNEOCTCOPY
LDMFDSP!,{R4-R11}
COPYWORDSANDSR2,R2,#7BEQSTOP
WORDCOPYLDRR3,[R0],#4STRR3,[R1],#4SUBSR2,R2,#1BNEWORDCOPY
STOPBSTOP

DSTDCD0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
END
六、实验结果及分析
程序的实验结果截图如下
实验分析:
程序将数据从源数据区 num复制到目标数据区 dumn,数据的个数 num
假定为 20,复制时以 8 个字为单位进行,对于最后不足 8 个字的数据,
以字为单位进行复制。
实验三汇编与 C语言的相互调用实验
一、实验目的
1.阅读 EmbetS3CEV40启动代码,观察处理器启动过程。
2.学会使用 EmbetIDE 辅助信息窗口来分析判断调试过程和结果 : .
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
.学会在 EmbetIDE 环境中编写、编译与调试汇编和 C语言相互调用
的程序。
二、实验设备
1.硬件: PC机;
2.软件: EmbetIDE2004 集成开发环境。 Window98/2000/NT/ 某 P。
三、实验内容
使用汇编完成一个随机数产生函数,通过 C语言调用该函数,产生一
系列随机数,存放到数组中。
四、实验原理
1.ARM过程调用 ATPCS(ARM)
ATPCS是一系列规定应用程序之间相互调用的基本规则,包括:支持
数据栈限制检查;
支持只读段位置无关( ROPI);支持可读 /写段位置无关( RWPI);
支持 ARM程序和 Thumb程序的混合使用;处理浮点运算。
使用以上规定的 ATPCS规则是,应用程序必须遵守如下:程序编写遵
守 ATPCS;
变量传递以中间寄存器和数据栈完成;汇编器使用 -apc 开关选项。
关于其他 ATPCS规则,用户可以参考 ARM处理器相关书籍或登录 ARM
公司网站。程序只要遵守 ATPCS相应规则,就可以使用不同的源代码来编
写程序。程序间的相互调用最主要的是解决参数传递问题。应用程序之间 : .
太上有立德,其次有立功,其次有立言,虽久不废,此谓不朽。——《左传》
1~4 个参数使用 R0~R3,多用 4
个参数数据栈进行传递。这样,接受参数的应用程序必须知道参数的个数。
但是,在应用程序被调用时,一般无从知道所传递参数的个数。用不
同语言编写的应用程序在调用时可以自定义传递的约定。使用具有一定意
义的形式来传递,可以很好地解决参数个数的问题。常用方法是把第 1 个
或最后 1 个参数作为参数个数(包括个数本身)传递给应用程序。 ATPCS
中寄存器的相应关系如表 所列。
ARM寄存器R0~R3R4ATPCS别名
a1~a4v1ATPCS寄存器说明参数/结果/cratch 寄存器 1~4局部变量寄存器
1ARM寄存器R10R11ATPCS别名v7、lv8ATPCS寄存器说明 ARM状态局部变
量寄存器 7,数据栈限制指针寄存器 ARM状态局部变量寄存器8
子程序内部调用的临时 (cratch) 寄存器数据栈指针寄存器链接寄存器
程序计数器 R5R6R7R8R9v2v3v4、wrv5v6、b 局部变量寄存器 2 局部变量寄
存器 3 局部变量寄存器 4Thumb状态工作寄存器 ARM状态局部变量寄存器
5ARM状态局部变量寄存 6RWPI的静态基址寄存器
R12R13R14R15ipplrPC2 .main() 与__gccmain() 函数当应用程序中包含了
main() 函数时,会引起对 C运行时库的初始化。该初始化是通过函数
__gccmain() 实现的,即在 main() 函数入口处,编译器会首先调用
__gccmain() 函数,然后才是执行编写的代码。__gccmain() 函数在 GCC的
标准库里实现。当应用程序中没有包含 main() 函数时,不会引起对 C运
行时库的初始化。这时,C运行时库的很多功能在应用程序中是不能使用
的。
如果使

最近更新

2025年四年级数学下册期末考试卷(含答案) 9页

投资银行业务及客户发掘技巧 53页

2025年保定职业技术学院单招职业适应性测试题.. 61页

2025年建筑工程内墙抹灰合同范本 12页

2025年保险职业学院单招职业适应性测试题库(.. 62页

钻井工程地质条件压力 26页

2025年康佳集团综合报关员岗位职责 1页

2025年端午节给顾客发祝福语0句 13页

2025年四川省高职单招考试真题数学试题+答案(.. 5页

2025年信阳艺术职业学院单招职业技能测试题库.. 60页

2025年端午节的朗诵稿(精选篇) 16页

2025年克孜勒苏职业技术学院单招职业适应性测.. 61页

2025年芝麻油项目发展计划 54页

2025年公务员《常识判断》练习题及参考答案(.. 80页

2025年端午节安康朋友圈文案 13页

2025年碳素材料项目合作计划书 69页

2025年端午的习俗作文300字4篇 3页

2025年公务员考试言语理解与表达练习题(全优.. 174页

2025年公务员联考《行测》常识判断模拟题附答.. 80页

2025年硅胶合作协议书 63页

2025年幼儿园大班案例分析及具体措施 9页

2025年公务员行测《言语理解与表达》试题及答.. 177页

2025年六安职业技术学院单招职业倾向性测试题.. 61页

《小松鼠找花生》课件(修订版) 44页

2025年品质部安全教育试卷及答案 4页

2025年平面设计概念 6页

2025年兰州石化职业技术大学单招职业技能测试.. 60页

2025年安徽财贸职业学院单招职业适应性测试题.. 61页

2025年江苏城市职业学院单招职业技能测试题库.. 75页

2024年青海卫生职业技术学院单招职业适应性测.. 74页