完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、实验目的
1.初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器; 2.通过实验掌握简单ARM汇编指令的使用方法。 二.实验设备 1.硬件:PC机; 2.软件:Embest IDE 2004集成开发环境。Windows98/2000/NT/XP。 三.实验内容 1.熟悉开发环境的使用,并使用LDR/STR和MOV等指令访问寄存器或存储单元。 2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。 四.实验原理 ARM处理器共有37个寄存器:31个通用寄存器,包括程序计数器(PC),这些寄存器都是32位;6个状态寄存器,这些寄存器也是32位,但只使用了其中的12位。 1.ARM通用寄存器 通用寄存器(R0~R15)可分为3类,即不分组寄存器R0~R7.分组寄存器R8~R14.程序计数器R15。 存储器格式 ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节0~3存放第一个字,字节4~7存放第2个字,以此类推。 ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。 GNU基础知识 Embest IDE集成了GNU汇编器as、编译器gcc和链接器ld。因此,编写程序要符合CNU的语法和规则。关于as.gcc和ld的具体使用,请参照Embest IDE所带的电子文档ProgRef.chm。 五.实验操作步骤 1. 实验A (1)新建工程:先建一个文件夹如: test1。然后运行ADS1.2集成开发环境,选择File→New 菜单项,”test1”,点击确定,同时创建一个与工程名相同的工作区。菜单项ew”,弹出一个对话框,”,在“file name ”中输入编辑完后,()添加源文件:选择Project→Add To Project→File项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件.s。”对话框中选择“DebugRel” (4)基本设置:(5)生成目标代码:按下生成目标代码。(6)调试设置:按下。首先编译和链接之后,在工程test1所在的目录下生成一个名为“test_data的目录,同时打开对话框使用Debugrel目标,选择生成的test.axf用于调试。 ()打开存储器窗口,观察地址0x000~0x101F的内容()单步执行程序并观察和记录寄存器与存储器值的变化。 ()结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令2.实验B (1) 在工作区窗口工作区名称上右击鼠标,在弹出的快捷菜单中选择“Add New Project to Workspace…”。 (2)参照实验A及相应的实验参考程序,建立工程(3)参照实验A的步骤完成目标代码的生成与调试。 六.实验参考程序 1. 实验A参考程序 七.实验报告 (1)画出程序A、程序B的实现框图,并说明实验A、B程序实现的功能是什么?(2)记录程序A和程序B单步运行时有关寄存器与存储器的值,并分析有关结果是否正确。 实验B 地址: 0x2D20放在0x1000的地址中,0x77 放在R1中,0x2D21放在R0中,0x2D5C放在R2中 实验二 ARM汇编指令实验2 一、实验目的 通过实验掌握使用LDM/STM、B和BL等指令完成较为复杂的存储区访问和程序分支,学习使用条件码,加强对CPSR的认识。 二、实验设备 1.硬件:PC机; 2.软件:Embest IDE 2004集成开发环境。Windows98/2000/NT/XP。 三、实验内容 1.熟悉开发环境的使用并完成一块存储区的拷贝; 2.完成分支程序设计,要求判断参数,根据不同参数,调用不同的子程序。 四、实验原理 1.ARM程序状态存储器 在所有处理器模式下,都可以访问当前程序状态寄存器CPSR。CPSR包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态。CPSR和SPSR的格式如下: 31 30 29 28 27 26 8 7 6 5 4 3 2 1 0 N Z C V QDNM(RAZ) IFTMMMMM2.本实验涉及到得as语法及规则 1)标号的使用 标号由一个符号后跟一个冒号组成,它表示程序中当前的指令或者数据地址。如果在程序中出现两个相同的标号,汇编器 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1683 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1582 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1627 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
675浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
538浏览 3评论
558浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
526浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 03:01 , Processed in 1.080130 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号