《ARM体系结构与编程》实验教学大纲
课程名称:
| ARM体系结构与编程
|
|
|
课程编号:
| 408306
| 436311
|
|
适用专业:
| 计算机科学与技术
| 软件工程
|
|
总 学 分:
| 3
|
|
|
总 学 时:
| 54
|
|
|
其中实验学时
| 26
|
|
|
撰写日期:
| 2012.6
|
| 2012.6
|
一、实验性质、目的与任务
《ARM体系结构与编程》课程是计算机应用、电子类等专业的一门实践应用较强的课程,是嵌入式课程体系中非常得要的一门基础课程。该课程主要讲述ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADX的使用。并在此基础之上介绍一些典型的基于ARM体系的嵌入式应用系统设计时的基本技术。通过本实验课程,应达到以下几个教学目的:
(1)能够理解ARM处理器的内部功能和特点,包括ARM处理器支持的数据内型、支持的存储格式、内核工作模式和存储系统等;
(2)能够理程ARM程序状态寄存器和寄存器组织;
(3)能熟练掌握各类常用指令的功能,理解各种不同的寻址方式;
(4)能够掌握使用ARM编程方法编写ARM汇编程序和ARM/C混编程序等;
(5)能够掌握一种ARM集成工发环境的工具软件的使用;
(6)能够掌握一种嵌入式ARM处理器(如ARM920T)的结构组成,常用接口的工作原理,并在此基础上编写驱动程序。
二、教学基本要求:
配合理论教学,培养学生的实践操作能力,为今后学习基于操作系统的嵌入式驱动程序打下良好的基础。通过实践深刻理解和掌握课堂教学内容的重点、难点和基本概念。通过操作ARM实验平台,使学生对嵌入式系统软硬件设计有一个全面的概念和动手能力的训练。
上机实验要求:
(1) 上机前,准备好上机所需的程序;
(2)上机时,输入和调试自己所编写的程序;
(3) 上机结束后,应整理出实验报告,实验报告应包括以下内容:实验项目名称;程序清单;运行结果;对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未能通过,应分析其原因。
三、实验项目与类型:
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| ARM汇编编程-寄存器访问
| 1
| √
|
|
|
| √
|
|
2
| ARM汇编编程-算术运算
| 1
| √
|
|
|
| √
|
|
3
| ARM汇编编程-寻址方式
| 1
| √
|
|
|
| √
|
|
4
| ARM汇编编程-逻辑控制
| 1
| √
|
|
|
| √
|
|
5
| ARM汇编编程-模式切换
| 1
| √
|
|
|
|
| √
|
6
| ARM/C混合编程
| 1
|
| √
|
|
|
| √
|
7
| ADS集成开发环境
| 1
| √
|
|
|
| √
|
|
8
| LED跑马灯程序
| 1
|
| √
|
|
| √
|
|
9
| KEY程序设计(查询方式)
| 2
|
| √
|
|
|
| √
|
10
| 蜂鸣器程序设计(中断方式)
| 2
|
| √
|
|
|
| √
|
11
| 定时器程序设计
| 2
|
| √
|
|
| √
|
|
12
| UART程序设计(查询方式)
| 2
|
| √
|
|
|
| √
|
13
| UART程序设计(中断方式)
| 2
|
| √
|
|
| √
|
|
14
| A/D程序设计(查询方式)
| 2
|
| √
|
|
| √
|
|
15
| A/D程序设计(中断方式)
| 2
|
| √
|
|
|
| √
|
16
| 触摸屏程序设计
| 2
|
| √
|
|
| √
|
|
17
| LCD程序设计
| 2
|
| √
|
|
|
| √
|
18
| 温度监测仪开发
| 0
|
|
| √
|
|
| √
|
四、实验教学内容及学时分配:
实验1 ARM汇编编程-寄存器访问
1、实验目的
掌握ARM通用寄存器,存储器的访问方法。
2、方法原理
MOV、LDR和STR等指令。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
使用MOV指令访问ARM通用寄存器,使用LDR/STR指令完成存储器的访问。
实验2 ARM汇编编程-算术运算
1、实验目的
掌握ARM算术、逻辑运算指令。
2、方法原理
ADD、UB、AND、ORR、CMP、TST等指令。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
使用ADD、UB、AND、ORR、CMP、TST等指令完成数据加减运算及逻辑运算,并分析理解寄存器的变化。
实验3 ARM汇编编程-寻址方式
1、实验目的
掌握ARM各寻址方式。
2、方法原理
各ARM寻址方式。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
编写汇编程序,分别实现立即数寻址、寄存器寻址、寄存器间接寻址、基址变址寻址和多寄存器寻址。
实验4 ARM汇编编程-逻辑控制
1、实验目的
掌握ARM各种逻辑控制语句结构。
2、方法原理
各种逻辑控制语句。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
编写汇编程序,分别使用ARM汇编指令实现if条件、for循环结构、while循环结构、do … while循环结构和switch开关结构执行。
实验5 ARM汇编编程-模式切换
1、实验目的
掌握ARM 7种模式及切换方法。
2、方法原理
ARM 7种模式。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
编写汇编程序,使用MRS/MSR指令切换工作模式,并初始化各种模式下堆栈指针;观察ARM处理器在各种模式下寄存器的区别。
实验6 ARM/C混合编程
1、实验目的
掌握ARM汇编指令与C语言的混合编程。
2、方法原理
ARM/C混合。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
编写汇编程序文件Startup.s和一个C程序文件Test.c。汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后调跳转到C程序运行,这就是一个简单的启动程序。C程序使用加法运算来计算1+2+3+…+(N-1)的值(N>0)。
实验7 ADS集成开发环境
1、实验目的
掌握H-JTAG的配置,熟练使用ADS编译,调试ARM程序。
2、方法原理
ADS集成开发环境。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板。
4、实验内容
安装、配置H-JTAG,安装配置ADS、AXD,然后使用ADS编译、调试(实验代码见实验指导书)。
实验8 LED跑马灯程序
1、实验目的
掌握GPIO配置和访问,掌握LED控制方法。
2、方法原理
GPIO,lED工作原理。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
控制LED,实验跑马灯程序。
实验9 KEY程序设计(查询方式)
1、实验目的
掌握GPIO配置和访问,掌握KEY控制方法和查询方式控制。
2、方法原理
GPIO,KEY、BEEP的工作原理。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个按键程序(查询方式),按一次键蜂鸣器响一次。
实验10 蜂鸣器程序设计(中断方式)
1、实验目的
掌握S3C2410中断工作原理。
2、方法原理
S3C2410中断工作原理。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个按键程序(查询方式),按一次键蜂鸣器响一次。
实验11定时器程序设计
1、实验目的
掌握定时器工作原理。
2、方法原理
定时器。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个定时器程序,每0.5秒让LED闪烁一次。
实验12 UART程序设计(查询方式)
1、实验目的
掌握串口工作原理;掌握S3C2410串口寄存的配置。
2、方法原理
串口工作原理。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
使用查询方式,写一个串口收发程序实现串口的收发功能,首先向串口发送十次“hello world”,然后等待键盘输入字符‘R’,则蜂鸣器连续响5次。
实验13 UART程序设计(中断方式)
1、实验目的
掌握串口工作原理;掌握S3C2410串口寄存的配置。
2、方法原理
串口工作原理, S3C2410中断工作原理,。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
实现串口的中断方式接收数据,然后将接收的数 据显示在超级终端上。
实验14 ADC程序设计(查询方式)
1、实验目的
掌握S3C2410 A/D工作原理。
2、方法原理
A/D工作原理。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个AD转换程序,通过查询方式实现开发板上W1可调查电阻AD转换。
实验15 A/D程序设计(中断方式)
1、实验目的
掌握S3C2410 A/D工作原理。
2、方法原理
A/D工作原理, S3C2410中断工作原理,。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个AD转换程序,通过中断方式实现开发板上W1可调查电阻AD转换。
实验16 触摸屏程序设计
1、实验目的
掌握S3C2410触摸屏工作原理。
2、方法原理
触摸屏工作原理, S3C2410中断工作原理,。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个触摸屏程序,通过中断方式获取X,Y坐标。
实验17 LCD程序设计
1、实验目的
掌握S3C2410 LCD工作原理。
2、方法原理
LCD工作原理。
3、主要实验仪器及材料
1) pc一台,安装有ADS1.2 ARM集成开发环境软件;
2) mini2410开发板一套,带有JTAG小板;
3)s3c2410芯片手册和原理图。
4、实验内容
设计一个LCD程序,显示三基色到LCD屏上,显示一幅图片到LCD屏上。
五、考核办法
1.教师对学生实验过程完成情况进行详细登记,记入实验成绩中。
2.学生完成实验后按要求撰写实验报告,根据实验报告确定每次实验的等级。
3.实验成绩按20%比例计入课程期评总成绩中。
六、实验指导书及主要参考书目
1、实验指导书
[1]自编《ARM体系结构与编程》
[2]刘洪涛,ARM嵌入式体系结构与接口技术,人民邮电版社,2009年8月
2、主要参考书
[1]杜春雷,ARM体系结构与编程.北京:清华大学出版社.2003
[2]田泽,ARM9嵌入式开发实验与实践.北京:北京航空航天大学出版社,2006
[3] Michael Barr,于志宏译,C/C++嵌入式系统编程,北京:清华大学出版社,2001
主 撰 人:刘泽平
审 核 人:袁辉勇
2012.6