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程序,具体...