《嵌入式系统实验讲义.doc》由会员分享,可在线阅读,更多相关《嵌入式系统实验讲义.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统实验讲义课内实验是一种辅助手段,是为了帮助学生更好地掌握课堂教学内容,加深对知识的理解。本课程的实验安排4次,共用8学时。下面是实验的题目、要求、实验步骤。完成后均需要写实验报告。实验一、ADS1.2开发环境的使用目的:通过该实验使学生掌握嵌入式系统的常用开发工具ADS1.2软件的使用。并掌握一个嵌入式系统应用软件的构建方法。要求:1、 利用ADS1.2新建一个工程项目;2、 向该工程下添加文件;3、 设置生成目标的配置;4、 编译生成目标系统;5、 下载该目标系统到实验板上运行。实验操作步骤:本实验的操作步骤参考的第二章,页码为P8P23。实验二、系统启动引导程序学习并设计目的:在
2、第一个实验后,学生掌握了基于ADS1.2建立一个工程项目的方法。基于此基础上,通过该实验使学生掌握了解实验目标系统的启动引导程序流程,从而掌握无操作系统时嵌入式系统应用软件的启动引导程序设计。要求:1、对第一个实验样例的启动引导程序进行分析,画出其流程图;2、分析第一个实验样例程序的各应用函数功能;3、修改启动程序;4、建立LCD显示的简单应用程序。实验操作步骤:1、 首先新建一个应用工程项目;2、 向该工程中添加应用程序的源文件,这些源文件是:“scrmain.c”、 “scrLCD640.c”、 “scrcpu.c”、 “scrIsr_a.c”、 “scrlib.c”;“incmacro.
3、h”、 “increg2410.h”、 “inccpu.h”、 “incisr.h”、 “inclib.h”、 “incuhal.h”、 “inclcd320.h”;“startupstartup.s”、 “startup2410addr.s”、 “initstack.s”;“uhalUHAL.c”、 “uhalisr.c”;“initheap.s”、 “initretarget.c”。3、对该工程项目进行目标配置,采用“Simple”配置,并比较与第一个实验中采用配置方法的不同;4、分析启动程序的流程,了解启动程序中做了哪些工作;5、分析整个应用程序的流程。实验三、RTC定时器程序学习并设计
4、目的:定时器部件是嵌入式系统中的重要I/O部件之一,它们的主要功能就是提供具有一定时间间隔特性的信号。S3C2410内部的定时部件主要有三个:看门狗定时器、RTC定时器和Timer定时器。他们的用途各有不同,但工作原理相似。本实验目的就是使学生熟练的对S3C2410内部的RTC部件进行使用,掌握其初始化编程技术。并掌握中断技术的使用。要求:1、对实验样例程序代码进行分析,了解中断处理的流程,并画出中断处理流程图;2、分析并说明RTC的初始化程序完成的功能;3、通过修改相关的计数常数,使得原程序中LCD刷屏加快,刷屏时间约为原来的一半。实验操作参考:1、利用ADS1.2打开样例工程项目,该工程项
5、目在“嵌入式课程实验4-实验4-RTC处理(含中断)”文件夹中;3、 RTC定时器的初始化程序和中断程序的样例在RTC.c中;初始化RTC的语句如下,(所设定的定时时间间隔为1s);rRTCCON = (rRTCCON|0x01); rRTCALM = 0x00; rRTCRST = 0x00; rTICINT = 0xff; rRTCCON = (rRTCCON&0xfe);4、相关的寄存器变量在头文件中reg2410.h进行了定义,如:#define RTC_BASE 0x#define rRTCCON _REG(RTC_BASE) /RTC control#define rTICINT
6、_REG(RTC_BASE+0x4) /Tick time count#define rRTCALM _REG(RTC_BASE+0x10) /RTC alarm control#define rRTCRST _REG(RTC_BASE+0x2c) /RTC round reset5、RTC的中断服务程序是:RTC_TICK_ISR(int vector, void* data);6、要使得LCD显示器的刷屏速度加快一倍,则应该使定时时间间隔减少一倍,因此,要修改TICINT寄存器中的计数常数n。实验四、通信程序的学习并设计目的:异步通信接口是嵌入式系统中最基本的通信接口,学生通过该实验掌握R
7、S-232异步通信的编程方法。要求:1、对实验样例程序进行分析,了解S3C2410的UART部件需要初始化哪些?如何进行初始化;2、完成UART的字符发送函数以及字符接收函数的编写;(为查询方式)3、完成字符串发送函数以及字符串接收函数的编写;(为查询方式)4、完成把RTC的时间信号发送给主机的应用程序编写。实验操作参考:1、RTC的时间间隔采用了中断方式,而串行通信的发送采用了查询方式,查询时通过判断状态寄存器UTRSTATn的相应位实现;如:while(!(rUTRSTAT0 & 0x4);该指令一直在等待发送寄存器相应位置1。2、实验实例中,发送函数完成的是一个字符的发送,需发送的字符数据送到发送数据寄存器即可;如:WrUTXH0(data);3、本实例中,主函数main()中,通过UART0、UART1发送大写英文字母BI,发送的时间间隔由RTC确定。即在RTC_TICK中断中设置key变量和key_flag变量的值,由他们确定是否发字符,并发什么字符。附录:实验报告格式:实验名称:ADS1.2开发环境的使用实验人张三、李四实验日期2007-10-8实验地点基础楼426实验目的及要求:实验情况及实验结果(包括自己编写的源程序,不够可以附页)
限制150内