嵌入式系统实验一

发布 2022-10-21 09:27:28 阅读 3387

central south university

实验报告。课程: 单片机与接**术

班级: 学号:

姓名。日期: 2023年11月26日。

1)初步学会使用ads1.2集成开发环境及arm软件模拟器。

2)通过实验掌握简单arm汇编指令的使用方法。

1)硬件:pc机;

2)软件:ads1.2集成开发环境,windows7

1)熟悉ads开发环境,并使用ldr/str和mov等指令访问寄存器或存储单元;

2)使用add/sub/lsl/lsr/and/orr等指令完成数学/逻辑运算。

1.)实验a

在该实验中主要是通过mov/str/ldr/add等指令来完成基本的加操作运算。

1)打开已有的工程(老师给的源程序)

2)编译与链接。

在菜单栏中选择edit->debugrel settings,在对话框中按着实验教程逐步设置。

3)用axd进行**调试。

单击ads编译面板上的debug按钮。

4)观察存储器和寄存器内容。

(5)单步运行。

单步执行程序并观察和记录regersters与memory值的变化。

6)加深理解ram指令的使用。

结合实验内容和相关资料,观察程序运行,通过实验实验加深理解arm指令的使用。理解和掌握实验后完成实验练习题。

2)实验b该实验通过使用mov/str/ldr/orrlsr/add等指令完成简单的加操作运算。

1)参照实验a和本实验的实验参考程序,建立工程sam1_b。

2)建立并编辑asm1_添加新建立的文件到工程中。

3)参照实验a的步骤完成目标**的生成与调试。

4)理解和掌握实验后,完成实验练习题。

1)实验a参考程序。

# name: asm1_ *

# author: embest *

# desc: arm instruction examples *

# history: 2005.02.22 *

constant define

x equ 45x=45 */

y equ 64y=64 */

stack_top equ 0x1000define the top address for stacks */

//.global _start

code */

area start,code,readonly

entrycode start */

mov sp, #stack_top

mov r0, #xput x value into r0 */

str r0, [sps**e the value of r0 into stacks */

mov r0, #yput y value into r0 */

ldr r1, [spread the data from stack,and put it into r1 */

add r0, r0, r1

str r0, [sp]

stopb stopend the code ,cycling */

end2)实验b参考程序。

# name: asm1_ *

# author: embest *

# desc: arm instruction examples *

# history: 2005.02.22 *

constant define

x equ 45x=45 */

y equ 64y=64 */

z equ 87z=87 */

stack_top equ 0x1000define the top address for stacks */

code */

area start1,code,readonly

entrycode start */

mov r0, #xput x value into r0 */

mov r0, r0, lsl #8r0 = r0 <<8 */

mov r1, #yput y value into r1 */

add r2, r0, r1, lsr #1r2 = r1>>1) +r0 */

mov sp, #0x1000

str r2, [sp]

mov r0, #zput z value into r0 */

and r0, r0, #0xffget low 8 bit from r0 */

mov r1, #yput y value into r1 */

add r2, r0, r1, lsr #1r2 = r1>>1) +r0 */

ldr r0, [spput y value into r1 */

mov r1, #0x01

orr r0, r0, r1

mov r1, r2put y value into r1 */

add r2, r0, r1, lsr #1r2 = r1>>1) +r0 */

stopb stopend the code ,cycling*/

end1)编写程序循环对r4-r11进行累加8次赋值,r4-r11起始值为1-8;每次累加操作后把r4-r11的内容放入sp栈中,sp初始设置为0x800;最后把r4-r11用ldmfd指令清空赋值为0。

源程序:area block,code,readonly

entry ;标识程序入口。

start ldr r0, =src

ldr r1,=reset

mov sp,#0x800

ldmia r1!,sub r2,r2,#

cmp r2,#

bne doadd

ldmfd r1!,stop

b stop

area bdata,data,readwrite;定义数据区bdata

src dcd 1,2,3,4,5,6,7,8

reset dcd 0,0,0,0,0,0,0,0end

嵌入式系统实验一

嵌入式系统 课程实验报告。记分及评价 一 实验名称。存储器实验。二 实验目的。了解s3c2410x处理器的内部存储空间分配 掌握对存储区配置的方法 掌握对存储区进行读写访问的方法。三 实验内容。熟练使用命令脚本文件对arm存储控制器进行正确配置。使用c语言编程,实现对ram的读写访问。四 实验原理。...

嵌入式系统实验

哈尔滨德强学院。实验报告 题目 嵌入式系统设计。院 系 德强商务学院计算机系。姓名 指导教师 多智华。系主任 葛雷 2010年10月15日。实验。一 使用ads1.2调试程序。一 实验内容和目的。1 熟悉adtide adt2000 support 运行环境。2 使用adtide adt2000 s...

嵌入式系统 实验

实验一 基于ads的c语言程序实验。一 实验环境。pc机一台 ads 1.2集成开发环境一套。二 实验目的。通过实验了解使用ads 1.2编写c语言程序,并进行调试。三 实验内容。在c语言的环境内开发应用程序,一般需要一个汇编的启动程序,从汇编的启动程序,跳到c语言下的主程序,然后,执行c程序,具体...