ARM实验指导书

  • 格式:doc
  • 大小:599.50 KB
  • 文档页数:35

《嵌入式系统》实验指导书前言一.嵌入式系统实验的任务嵌入式系统实验是嵌入式系统理论课程的一部分,它的任务是:1.通过实验进一步了解和掌握嵌入式系统的基本理论、ARM的体系结构、ARM系统硬件设计基础以及嵌入式Linux软件设计2.学习和掌握嵌入式系统开发环境的使用和实现技术。

3.提高应用计算机应用能力及对操作系统有更高水平的理解。

二.实验设备嵌入式系统实验所使用的设备由计算机、CPU板、语音单元、开关量输入输出单元、液晶显示单元、键盘单元、信号扩展单元、CPLD模块单元、模拟信号源、直流电源单元等组成。

其中计算机是ARM开发软件的运行环境,是程序编辑和调试的重要工具。

语音单元是语音输入和输出模块,主要完成语音信号的采集和回放。

开关量输入输出单元可以实现开关量输入或输出。

液晶显示单元可以对运行结果进行文字和图形的显示。

模拟信号源可以产生频率和幅度可调的正弦波、方波、三角波。

直流电源单元可以提供3.3V、+5V、-12V和+12V的直流电源。

装有ARM开发软件和Linux操作系统的计算机与整个实验系统共同构成整个的嵌入式系统的软、硬件开发环境。

所有的嵌入式系统的实验都是在这套实验装置上完成的。

三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的。

2.按实验指导书要求进行程序设计、程序修改。

3.在实验中注意观察,记录有关数据和图像,并由指导教师复查后才能结束实验。

4.实验后应断电,整理实验台,恢复到实验前的情况。

5.认真写实验报告,按规定格式对实验结果分析。

字迹要清楚,结论要明确。

爱护实验设备,遵守实验室纪律。

目录第一章嵌入式系统实验 (3)实验一ADS1.2开发环境创建 (3)实验二基于ARM的汇编语言程序设计 (5)实验三基于ARM的C语言程序设计简介 (7)实验四ARM的I/O接口实验 (9)实验五ARM的中断实验 (11)实验六ARM的UART实验 (14)实验七LCD的显示实验 (16)实验八Linux的实验环境的搭建 (18)实验九linux的移植、内核、文件系统的生成与下载 (21)实验十基于linux的跑马灯应用程序的编写 (29)第二章EL-ARM-挂箱型实验系统的资源介绍 (31)第一节 ARM实验箱硬件资源概述 (31)第二节实验系统的硬件资源总览 (32)第三节核心板的资源介绍 (33)第一章嵌入式系统实验实验一 ADS1.2开发环境创建一.实验目的熟悉ADS1.2开发环境,正确使用仿真调试电缆进行编译、下载、调试。

二.实验内容学习ADS1.2开发环境三.实验设备1.EL-ARM挂箱教学实验箱,PentiumII以上的PC机,仿真调试电缆。

2.PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,仿真调试电缆驱动程序四.实验步骤1.ADS1.2下建立工程(1)运行ADS1.2集成开发环境(CodeWarrior for ARM Developer Suite),点击File|New,在New对话框中,选择Project栏,其中共有7项,ARM Executable Image是ARM的通用模板。

选中它即可生成ARM的执行文件。

还要在,Project name栏中输入项目的名称,以及在Location中输入其存放的位置。

按确定保存项目。

(2)在新建的工程中,选择Debug版本,使用Edit|Debug Settings菜单对Debug版本进行参数设置。

(3)在,点击Debug Setting 按钮,选中Target Setting项,在Post-linker栏中选中ARM fromELF项。

按OK确定。

这是为生成可执行的代码的初始开关。

(4)点击ARM Assembler ,在Architecture or Processer 栏中选ARM920T。

(5)点击ARM C Compliler ,在Architecture or Processer栏中选ARM920T。

这是要编译的CPU核。

(6)点击ARM linker ,在outpur栏中设定程序的代码段地址,以及数据使用的地址。

图中的RO Base栏中填写程序代码存放的起始地址,RW Base栏中填写程序数据存放的起始地址。

该地址是属于SDRAM的地址。

在options栏中, Image entry point要填写程序代码的入口地址,其他保持不变,如果是在SDRAM中运行,则可在0x30000000—0x33ffffff中选值,这是64M SDRAM的地址,但是这里用的是起始地址,所以必须把你的程序空间给留出来,并且还要留出足够的程序使用的数据空间,而且还必须是4字节对齐的地址(ARM状态)。

通常入口点Image entry point 为0x30000000,ro_base也为0x30000000。

在Layout栏中,在Place at beginning of image框内,需要填写项目的入口程序的目标文件名,如,整个工程项目的入口程序是2410init.s,那么应在Object/Symbol处填写其目标文件名2410init.o,在Section处填写程序入口的起始段标号。

它的作用是通知编译器,整个项目的开始运行,是从该段开始的。

(7)在Debug Setting对话框中点击左栏的ARM fromELF项,在Output file name栏中设置输出文件名*.bin,前缀名可以自己取,在Output format 栏中选择Plain binary,这是设置要下载到flash中的二进制文件,使用的是test.bin.(8)到此,在ADS1.2中的基本设置已经完成,可以将该新建的空的项目文件作为模板保存起来。

首先,要将该项目工程文件改一个合适的名字,如S3C2410 ARM.mcp等,然后,在ADS1.2软件安装的目录下的Stationary 目录下新建一个合适的模板目录名,如,S3C2410 ARM Executable Image,再将刚刚设置完的S3c2410 ARM.mcp项目文件存放到该目录下即可。

这样,就能看到该模板。

2. ADS1.2下仿真、调试在ADS1.2下进行仿真调试,(1)需要一根仿真调试电缆。

在连上调试电缆后,给实验箱上电。

(2)打开超级终端,设置其参数为:波特率为115200,数据位数8,奇偶校验无,停止位无1,数据流控无。

(3)打开H-JTAG软件。

(4)打开调试软件AXD Debugger。

点击File|load image 加载文件ADS.axf(\实验程序\HARDWARE\ADS\实验一\ADS\ADS_data目录下)。

(5)点击全速运行,在超级终端观察结果。

3.利用自己创建的模板,重新进行编译调试,验证模板创建的正确性。

利用模板新建项目工程,把ADS目录下的文件添加到新建项目工程中,重新进行编译下载调试,观察实验结果。

五.思考题及实验报告要求1.思考题(1)修改程序,使显示文字变为“上海电机学院ARM嵌入式系统教学中心欢迎你”。

2.实验报告要求(1)写出程序分析、修改的过程。

(2)总结实验过程中模板创立、程序下载、调试过程中所遇到的问题和解决方法,写出编程调试的经验和体会。

实验二基于ARM的汇编语言程序设计一.实验目的1. 了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程二.实验内容1. 用汇编语言编写一个简单的应用程序三.实验设备1.EL-ARM挂箱教学实验箱,PentiumII以上的PC机,仿真调试电缆,串口电缆。

2.PC操作系统WIN98或WIN2000或WINXP, ADS1.2集成开发环境,仿真调试驱动程序四.汇编语言简介1.ARM汇编的一些简要的书写规范ARM汇编中,所有标号必须在一行的顶格书写,其后面不要添加“:”,而所有指令均不能顶格书写。

ARM汇编对标识符的大小写敏感,书写标号及指令时字母大小写要一致。

在ARM 汇编中,ARM指令、伪指令、寄存器名等可以全部大写或者全部小写,但不要大小写混合使用。

注释使用“;”号,注释的内容由“;”号起到此行结束,注释可以在一行的顶格书写。

详细的汇编语句及规范请参照ARM汇编的相关书籍、文档,也可参照我们提供的文档。

2.ARM汇编语言程序的基本结构在ARM汇编语言程序中,是以程序段为单位来组织代码。

段是相对独立的指令或数据序列,具有特定的名称。

段可以分为代码段的和数据段,代码段的内容为执行代码,数据段存放代码运行时所需的数据。

一个汇编程序至少应该有一个代码段,当程序较长时,可以分割为多个代码段和数据段,多个段在程序编译链接时最终形成一个可执行文件。

可执行映像文件通常由以下几部分构成:◆一个或多个代码段,代码段为只读属性。

◆零个或多个包含初始化数据的数据段,数据段的属性为可读写。

◆零个或多个不包含初始化数据的数据段,数据段的属性为可读写。

链接器根据系统默认或用户设定的规则,将各个段安排在存储器中的相应位置。

源程序中段之间的相邻关系与执行的映象文件中的段之间的相邻关系不一定相同。

五.实验步骤1. 本实验仅使用实验教学系统的CPU板,串口。

在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。

2.在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆,以及串口间连接公/母接头串口线。

3.检查连接是否可靠,可靠后,接入电源线,系统上电。

4.打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\实验二\asm.mcp项目文件,进行编译。

5.编译通过后,进入ADS1.2调试界面,加载\实验程序\HARDWARE\ADS\实验二\asm_Data\Debug中的映象文件程序映像asm.axf。

6.打开超级终端,配置波特率为115200,校验位无,数据位为8,停止位为1。

之后,在ADS调试环境下全速运行映象文件,观察结果。

六.思考题及实验报告要求1.思考题(1)修改程序,使显示字符及其长度改变。

2.实验报告要求(1)写出程序分析、修改的过程(2)总结实验过程程序编译、程序下载、调试过程中所遇到的问题和解决方法,写出实验过程的经验和体会。

实验三基于ARM的C语言程序设计简介一.实验目的1.了解ARM C语言的基本框架,学会使用ARM的C语言编程二.实验内容1. 用C语言编写一个简单的应用程序三.实验设备1. EL-ARM-830教学实验箱,PentiumII以上的PC机,仿真调试电缆,串口电缆。

2. PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,仿真调试驱动程序四.ARM C语言简介与使用规则1. ARM C语言程序的基本规则在ARM程序的开发中,需要大量读写硬件寄存器,并且尽量缩短程序的执行时间的代码一般使用汇编语言来编写,比如ARM的启动代码,ARM的操作系统的移植代码等,除此之外,绝大多数代码可以使用C语言来完成。