《嵌入式系统技术》实训报告学期: 10-11 学年第一学期 日期:实训场所: 单片机实验室 <科403)二级学院信息项目学院班级姓名学号实验题目实训三、 C语言控制 LED灯<走马灯)1、实验目的z 熟悉 ADS开发环境调试环境。z 掌握简单的 ARM 汇编指令的使用方法。z 掌握 S3C2440A 的I/O 控制寄存器的配置。z 掌握 ARM 汇编指令和 C语言相互调用的方法2、实验设备z PC机、 ARM 仿真器、 2440 实验箱、串口线。3、实验内容z 熟悉 ARM 开发环境的建立。z 使用 ARM 汇编和 C语言设置 GPIO 口的相应寄存器。z 编写跑马灯程序。4、实验原理C 程序与汇编程序相互调用规则为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规定 一 定 的 规 则 。 ATPCS , 即 ARM , Thumb 过程 调 用 标 准 (ARM/Thumb Procedure Call Standard>,是ARM程序和 Thumb程序中子程序调用的基本规则,它规定了一些子程序间调用的基本规则,如子程序调用过程中的寄存器的使用规则,堆栈的使用规则,参数的传递规则等。下面结合实际介绍几种ATPCS 规则,如果读者想了解更多的规则,可以查看相关的书籍。1.基本 ATPCS基本 ATPCS规定了在子程序调用时的一些基本规则,包括下面3方面的内容: (1> 各寄存器的使用规则及其相应的名称。(2> 数据栈的使用规则。(3> 参数传递的规则。相对于其它类型的ATPCS,满足基本 ATPCS的程序的执行速度更快,所占用的内存更少。但是它不能提供以下的支持:ARM程序和 Thumb程序相互调用,数据以及代码的位置无关的支持,子程序的可重入性,数据栈检查的支持。而派生的其他几种特定的ATPCS就是在基本 ATPCS的基础上再添加其他的规则而形成的。其目的就是提供上述的功能。2.寄存器的使用规则寄存器的使用必须满足下面的规则:(1> 子程序间通过寄存器R0~R3来传递参数。 这时,寄存器 R0~R3可以记作 A0~A3。被调用的子程序在返回前无需恢复寄存器R0~R3的内容。(2> 在子程序中,使用寄存器R4~ Rll 来保存局部变量。这时,寄存器R4~R11可以记作 V1~V8。如果在子程序中使用到了寄存器V1~V8中的某些寄存器,子程序进入时必须保存这些寄存器的值,在返回前必须恢复这些寄存器的值;对于子程序中没有用到的寄存器则不必进行这些操作。在Thumb程序中,通常只能使用寄存器R4~R7来保存局部变量。(3> 寄存器 R12用作子程序间scratch寄存器,记作IP...