[理学]嵌入式工程实训报告.docx

上传人:聆听****声音 文档编号:8965576 上传时间:2023-05-16 格式:DOCX 页数:31 大小:764.32KB
下载 相关 举报
[理学]嵌入式工程实训报告.docx_第1页
第1页 / 共31页
[理学]嵌入式工程实训报告.docx_第2页
第2页 / 共31页
[理学]嵌入式工程实训报告.docx_第3页
第3页 / 共31页
[理学]嵌入式工程实训报告.docx_第4页
第4页 / 共31页
[理学]嵌入式工程实训报告.docx_第5页
第5页 / 共31页
[理学]嵌入式工程实训报告.docx_第6页
第6页 / 共31页
[理学]嵌入式工程实训报告.docx_第7页
第7页 / 共31页
[理学]嵌入式工程实训报告.docx_第8页
第8页 / 共31页
[理学]嵌入式工程实训报告.docx_第9页
第9页 / 共31页
[理学]嵌入式工程实训报告.docx_第10页
第10页 / 共31页
[理学]嵌入式工程实训报告.docx_第11页
第11页 / 共31页
[理学]嵌入式工程实训报告.docx_第12页
第12页 / 共31页
[理学]嵌入式工程实训报告.docx_第13页
第13页 / 共31页
[理学]嵌入式工程实训报告.docx_第14页
第14页 / 共31页
[理学]嵌入式工程实训报告.docx_第15页
第15页 / 共31页
[理学]嵌入式工程实训报告.docx_第16页
第16页 / 共31页
[理学]嵌入式工程实训报告.docx_第17页
第17页 / 共31页
[理学]嵌入式工程实训报告.docx_第18页
第18页 / 共31页
[理学]嵌入式工程实训报告.docx_第19页
第19页 / 共31页
[理学]嵌入式工程实训报告.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

[理学]嵌入式工程实训报告.docx

《[理学]嵌入式工程实训报告.docx》由会员分享,可在线阅读,更多相关《[理学]嵌入式工程实训报告.docx(31页珍藏版)》请在冰点文库上搜索。

[理学]嵌入式工程实训报告.docx

2010/2011学年第2学期

嵌入式系统工程课程设计

课程名称:

嵌入式系统工程课程设计班级:

计控0901 学号:

0408090118

姓名:

秦海艳 教学周数:

2周 地点:

嵌入式系统实训室指导教师:

朱黎、魏雅

31

目录

实验一BootLoader实验 3

一、实验目的 3

二、实验内容 3

三、预备知识 3

四、实验设备及工具 3

五、实验原理 3

六、实验步骤 4

七、实验结果 7

实验二uCOS-II在ARM微处理器上的移植及编译 8

一、实验目的 8

二、实验内容 8

三、预备知识 8

四、实验设备及工具 8

五、实验原理 8

六、实验步骤 8

七、实验结果:

11

实验三音频实验 15

一、实验目的 15

二、实验内容 15

三、预备知识 15

四、实验设备及工具 15

五、实验原理及说明 15

六、实验步骤 16

七、实验结果 17

实验四模拟电子画板实验--触摸屏应用 17

一、实验目的 17

二、实验内容 17

三、预备知识 17

四、实验设备及工具(包括软件调试工具) 18

五、实验原理 18

六、实验步骤 19

六、实验结果 21

实验五综合实验 22

一、实验目的 22

二、实验内容 22

三、预备知识 22

四、实验设备及工具(包括软件调试工具) 22

五、实验步骤 23

六、实验结果 24

实验六MP3的解码播放原理实验 24

一、实验目的 24

二、实验内容 24

三、预备知识 25

四、实验设备及工具 25

五、实验原理及说明 25

六、实验步骤 26

七、实验结果 27

实验七完整的MP3播放器实验 27

一、实验目的 27

二、实验内容 28

三、预备知识 28

四、实验设备及工具 28

五、实验原理及说明 28

六、实验步骤 29

实训感悟 29

实验一BootLoader实验

一、实验目的

了解基于uCOS-II的嵌入式系统BootLoader的框架和编写过程。

二、实验内容

调试运行BootLoader程序,实现ShellMenu测试功能以及应用程序引导功能,并烧写到ROM中验证。

三、预备知识

1.掌握在ARMSDT2.5或ADS1.2集成开发环境中编写和调试程序的基本过程。

2.了解计算机启动引导过程。

四、实验设备及工具

硬件:

ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。

软件:

PC机操作系统win98、Win2000或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序

五、实验原理

这里的BootLoader和前边曾经提到的BIOS在功能上是没有差别的。

其功能包括上电后对系统进行自检,主要包括SDRAM,CACHE,FLASH等硬件;提供ShellMenu检测设置菜单和相应的检测程序;引导操作系统及应用程序。

需要说明,平台的BIOS烧写到一片2MBOOTFLASH芯片中,相当于BOOTROM,该芯片挂在系统总线上,占用0Bank地址空间;当系统上电或硬件复位后首先从0Bank的0x00000000地址执行指令,也就是从BIOS开始执行程序。

BIOS首先获得系统的控制权。

而操作系统以及应用程序等则是拷贝到另外一片16MNANDFLASH芯片中的,而且是用文件系统进行管理的,这相当于一个海量存储器或电子硬盘,同时当平台激活USB时,该芯片构成U盘使用。

BootLoader所谓的引导功能指的是:

BootLoader程序首先获得系统的控制权之后,对关键硬件自检没有发现故障并且控制台没有发出启用ShellMenu检测菜单的情况下,依据文件系统的管理和支持,从电子硬盘即16MNANDFLASH中读取操作系统或应用程序的代码到SDRAM的指定位置,然后把程序指针转移到该位置,从而使操作系统获得控制权,完成引导过程。

六、实验步骤

1.新建工程,将“Exp11BootLoader实验”中的文件添加到工程.在编译环境下新建工程并对特定的参数进行设置。

需要注意的是,由于BootLoader映象文件最终运行的地址空间是0Bank,所以该工程的连接地址不同于其他运行于SDRAM的工程。

Release版本的

ROBase是0x0c0800000,RWBase是0x0c200000.ADS环境下,该工程的Placeatbeginningofimage框中设置程序的入口模块。

指定在生成的代码中,程序是从44binit.s开始运行的。

在Outputfilename框中设置输出文件名为system.bin,这就是要下载到开发板的嵌入式应用程序文件。

然后输入上述地址即可。

把本实验目录下的源文件加入工程。

在这里没有给出文件系统的源码,所以把文件系统的库文件也加入到工程中。

SRC目录下包括系统启动的必须初始化配置文件和部分用到的硬件驱动,以实现检测功能。

2.将所要用到的程序加载到所建工程中。

需要注意的是,所要加载的程序必须是你在一开始创建工程是所保存的为之下的文件夹。

否则程序将会出错。

3.选择Targets选项卡,如图所示。

选中DebugRel版本,按Del键将其删除。

DebugRel子树是一个折衷版本,通常用不到,所以在这里删除。

4.打开main.c文件,查看BootLoader的编写过程。

这里首先作了必要的硬件初始化,

仅给出了NANDFLASH自检例程(没有给出芯片操作细节),然后输出提示信息。

接下来会等待查询是否有键按下,如果没有则直接引导系统;否则显示ShellMenu。

5.每个菜单项都对应一个类型为Bios_function的结构体变量,其中包括该菜单项的功能函数指针,快捷键,菜单中的提示信息等内容。

在显示菜单后程序等待按键并根据键值查找对应的功能函数。

typedefstruct{Bios_func_tfunc;

char*pShellMenu;//shell模式下显示的菜单字符串

charMenuAcc;//shell模式下菜单快捷键char*pCommand;//命令行模式下的命令char*pHelp;//命令行模式下的帮助

6.有的测试功能函数不是一直运行结束再返回菜单,而是边对目标进行操作边查询终端是否有停止命令,如果有则立刻返回,否则继续执行。

BootLoader是这样完成该动作的:

index=Set_UartLoopFunc(ADTest_Loop);Uart_Getch(0);Clear_UartLoopFunc(index);

7.只须打开并读取指定文件到指定位置即完成了装载,然后把程序指针指向该位

置即实现了控制的转移。

8.对工程进行编译,使用合适的烧写工具,比如博创科技的硬件仿真器,把Release版本的bootloader.bin烧写到BOOTFLASH中。

注意烧写的映像文件必须是Release版本的。

注意:

在本实验中请用户确保有可靠的烧写工具后再尝试把本实验的结果烧写到BOOT

FLASH中。

否则可能无法正确恢复原有BIOS将会导致系统不能正常使用!

而Debug版本也可以用仿真器进行调试,但是点GO按钮后最好按住平台键盘不放,使程序进入测试状态;假如程序在调试中尝试实现引导功能的话,可能出现无法预料的结果,因为调试的时候

bootloader自己就在SDRAM,而引导过程也是把目标复制到SDRAM,如果地址空间重叠,势必导致程序运行失常。

前边设置Debug版本的ROBase是0xc400000,RWBase是

0xc600000,而引导程序的目标地址是0xc080000,如果装载system.bin文件后地址空间没有冲突,则Debug版本也可以正常引导。

七、实验结果

1、在没有改变Lcd的显示结果之前,超级终端的结果如下:

2.在改变Lcd的显示结果之前,超级终端的结果如下:

实验二uCOS-II在ARM微处理器上的移植及编译

一、实验目的

1.了解uCOS-II内核的主要结构。

2.掌握将uCOS-II内核移植到ARM7处理器上的基本方法。

二、实验内容

1.将uCOS-II内核移植到ARM7微处理器上。

2.编写两个简单任务,在超级终端上观察两个任务的切换。

三、预备知识

1.掌握在ARMSDT2.5或ADS1.2集成开发环境中编写和调试程序的基本过程。

2.了解ARM7处理器的结构。

3.了解uCOS-II系统结构。

四、实验设备及工具

硬件:

ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。

软件:

PC机操作系统win98、Win2000或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验原理

uCOS-II的移植

所谓移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行。

虽然uCOS-II的大部分源代码是用C语言写成的,仍需要用C语言和汇编语言完成一些与处理器相关的代码。

比如:

uCOS-II在读写处理器、寄存器时只能通过汇编语言来实现。

因为uCOS-II在设计的时候就已经充分考虑了可移植性,所以,uCOS-II的移植还是比较容易的。

要使uCOS-II可以正常工作,处理器必须满足以下要求:

1.处理器的C编译器能产生可重入代码

2.在程序中可以打开或者关闭中断。

3.处理器支持中断,并且能产生定时中断(通常在10Hz∼1000Hz之间)

4.处理器支持能够容纳一定量数据的硬件堆栈。

5.处理器有将堆栈指针和其他CPU寄存器存储和读出到堆栈(或者内存)的指令。

六、实验步骤

1.新建工程,将“Exp12uCOS-II在ARM微处理器上的移植及编译实验”中的文件添加到工程。

该实验的文件分为两类,其一是STARTUP目录下的系统初始化、配置等文件,其二

是uCOS-II的全部源码,arch目录下的3个文件是和处理器架构相关的。

2.设置os_cpu.h中与处理器和编译器相关的代码

typedefunsignedcharBOOLEAN;typedefunsignedcharINT8U;typedefsignedcharINT8S;typedefunsignedintINT16U;typedefsignedintINT16S;typedefunsignedlongINT32U;typedefsignedlongINT32S;typedeffloatFP32;

typedefdoubleFP64;

typedefunsignedintOS_STK;typedefunsignedintOS_CPU_SR;externintINTS_OFF(void);externvoidINTS_ON(void);

#defineOS_ENTER_CRITICAL(){cpu_sr=INTS_OFF();}#defineOS_EXIT_CRITICAL(){if(cpu_sr==0)INTS_ON();}#defineOS_STK_GROWTH1

3.用C语言编写6个操作系统相关的函数(OS_CPU_C.C)

1)OSTaskStkInit

OSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈结构。

因此,堆栈看起来就像刚发生过中断并将所有的寄存器保存到堆栈中的情形一样。

2)OSTaskCreateHook

当用OSTaskCreate()和OSTaskCreateExt()建立任务的时候就会调用

OSTaskCreateHook()。

该函数允许用户或使用移植实例的用户扩展uCOS-II功能。

函数原型:

voidOSTaskCreateHook(OS_TCB*ptcb)

3)OSTaskDelHook

当任务被删除的时候就会调用OSTaskDelHook()。

该函数在把任务从uCOS-II的内部任务链表中解开之前被调用。

函数原型:

voidOSTaskDelHook(OS_TCB*ptcb)

4)OSTaskSwHook

当发生任务切换的时候就会调用OSTaskSwHook()。

OSTaskSwHook()可以直接访问

OSTCBCur和OSTCBHighRdy,因为它们是全局变量。

OSTCBCur指向被切换出去的任务

OS_TCB,

而OSTCBHighRdy指向新任务OS_TCB。

函数原型:

voidOSTaskSwHook(void)5)OSTaskStatHook

OSTaskStatHook()每秒钟都会被OSTaskStat()调用一次。

用户可以用OSTaskStatHook()

来扩展统计功能。

例如,用户可以保持并显示每个任务的执行时间,每个任务所用的CPU

额,以及每个任务执行的频率等。

函数原型:

voidOSTaskStatHook(void)

6)OSTimeTickHook

OSTimeTickHook()在每个时钟节拍都会被OSTaskTick()调用。

实际上,OSTimeTickHook()

是在节拍被uCOS-II真正处理,并通知用户的移植实例或应用程序之前被调用的。

函数原型:

voidOSTimeTickHook(void)

4.用汇编语言编写4个与处理器相关的函数(OS_CPU.ASM)

1)OSStartHighRdy();运行优先级最高的就绪任务

2)OS_TASK_SW();任务级的任务切换函数

3)OSIntCtxSw();中断级的任务切换函数

4)OSTickISR();时钟节拍中断

完成了上述工作以后,uCOS-II就可以运行在ARM处理器上了。

编写一个简单的多任务程序来测试一下移植是否成功。

为了使uCOS-II可以正常运行,除了上述必须的移植工作外,硬件初始化和配置文件也是必须的。

STARTUP目录下的文件还包括中断处理,时钟,串口通信等基本功能函数。

5.在打开超级终端的同时按实验箱上的任意键,可以进入BIOS界面按PC键盘的u键(要使超级终端处于活动状态),这时超级终端上会显示如图1所示的信息。

6.用USB接口将工程下生成的system拷到实验箱上。

7.根据所显示信息,按键可以得到不同的信息。

七、实验结果:

按u键:

激活平台的USB连接,开发平台可以被PC机认为一个U盘,从而可以方便的将字库,应用程序等文件从PC机拷贝到平台的FLASH中。

按i键:

测试LCD的文本和图形显示。

按a和d键:

测试平台的AD和DA电路,终端显示AD0-AD3的数值,而DA需要用电压表测量平台DA输出端子。

按s键:

测试平台触摸屏,触摸屏有动作时终端上会显示动作类型和坐标。

按h键:

设置触摸屏的坐标基准点,也就是校屏功能。

需要按提示点击触摸屏的3 个位置并保存结果。

按o键:

格式化开发平台的16MFLASH,其中的文件将丢失,需要重新拷贝。

按e和k键:

测试平台上由ZLG7289构成的LED显示和键盘电路:

按n键:

按t键:

设置平台RTC时间参数,该时间由平台电池保证持续计时。

请按提示输入时间。

按m键:

测试平台的电机,需要打开电机开关,按提示分别测试步进电机或直流电机。

按c键:

测试平台的CAN控制器。

按f键:

Flash内存分配。

实验三音频实验

一、实验目的

1.掌握S3C44B0X自带的IIS音频接口的使用方法。

2.掌握DMA数据传输方式。

二、实验内容

学习S3C44B0X自带的IIS音频接口的使用,通过DMA数据传输方式编程实现对WAV声音文件(不超过10秒)的循环播放。

三、预备知识

1、用ARMSDT2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。

2、基于uCOS-II操作系统的应用程序的框架结构。

3、会使用SourceInsight3编辑C语言源程序。

4、学习IIS音频总线协议。

5、学习DMA数据传输方式

四、实验设备及工具

硬件:

ARM嵌入式开发平台,用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、耳麦。

软件:

PC机操作系统win98以上、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、SourceInsight3.0。

五、实验原理及说明

WAV音乐格式

在Windwos环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为“资源互换文件格式”(resourcesinterchangefileformat,简称RIFF)。

例如声音的WAV文件、视频的AVI文件等等均是由此结构衍生出来的。

RIFF可以看作是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由“辨别码”、“数据

大小”及“数据”所组成。

WAV为waveform(波形)的缩写。

声音文件的结构如表4-1所示,

“RIFF”的格式辨别码为“WAVE”。

整个文件由两个chunk所组成:

辨别码“fmt”(注意,最后一个是空白字符!

)及“data”。

WAV文件结构

六、实验步骤

1.新建工程,将“Exp13音频实验”中的文件添加到工程。

2.编辑主任务函数(Main_Task())

读取wav文件数据可使用以下代码pfile=OpenOSFile(filename,FILEMODE_READ);if(!

pfile)

return;

ReadOSFile(pfile,(U8*)buffer,0x16*2);//读取头文件信息nbyte=ReadOSFile(pfile,(U8*)buffer,sizeof(buffer));//读取波形数据其中filename为打开的文件名,在字符串数组中定义:

charfilename[]="1.wav";

buffer为存放波形数据的缓冲区,应定义成全局变量

intbuffer[AUDIO_IN_BUFFERSIZE*20];//5秒钟的数据

3.将声音文件“1.wav”下载到开发板中。

4.将耳机插入平台“PHONES”插口,或者调节音量电位器到合适位置而采用板载扬声器发音,调试程序,可以听到音乐。

七、实验结果

实验四模拟电子画板实验--触摸屏应用

一、实验目的

1.进一步了解触摸屏的工作原理。

2.学习在uCOS-II操作系统下对触摸屏的编程。

3.进一步熟悉绘图API,图形控件,消息循环等内容。

二、实验内容

在液晶屏上设置四个按钮控件,表示四种画板功能:

画直线、画圆、画任意折线以及清除图形。

在触摸屏上单击一个按钮后,即可以开始在触摸屏上画图或清除原来的图形。

三、预备知识

1、用ARMSDT2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。

2、基于uCOS-II操作系统的应用程序的框架结构。

3、触摸屏的驱动程序原理。

4、系统消息循环、图形API函数以及控件的使用。

四、实验设备及工具(包括软件调试工具)

硬件:

ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。

软件:

PC机操作系统win98、Win2000或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序

五、实验原理

触摸屏原理

触摸屏按其工作原理的不同分为表面声波屏、电容屏、电阻屏和红外屏几种。

常见的

数电阻触摸屏。

如图2所示,电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。

图2触摸屏的结构

如图3所示,当手指或笔触摸屏幕时(图c),平常相互绝缘的两层导电层就在触摸点

位置有了一个接触,因其中一面导电层(顶层)接通X轴方向的5V均匀电压场(图a),使得

检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行A/D转换,并将得到

的电压值与5V相比即可得触摸点的X轴坐标为(原点在靠近接地点的那端):

Xi=Lx*Vi/V(即分压原理)

同理得出Y轴的坐标,这就是所有电阻触摸屏共同的最基本原理。

图3触摸屏坐标识别原理

六、实验步骤

1、新建工程,将“Exp22模拟电子画板”中的文件加入工程。

2、打开main.c文件,编辑Main_Task任务中的代码。

定义控件及绘图的矩形区域,创建按钮控件并显示每个按钮代表的功能。

启动消息循环,响应触摸屏消息。

程序流程图如图:

主任务

1)用CreateButton()函数创建按钮控件,其参数Caption即要在该按钮上显示的

文字。

这里同样需要事先指定每个控件的ID,为每个控件的矩形结构赋值,并将ASCII字符串转为Unicode字符串。

2)触摸屏消息的类型pMsg->Message为OSM_TOUCH_SCREEN,参数pMsg->WParam中包含坐标信息,用下面的语句获得(x,y)坐标值:

Touch_Position.x=pMsg->WParam&0xffff;

Touch_Position.y=pMsg->WParam>>16;

3)用IsInRect()函数判断某个触摸点坐标是否在一个矩形区域内,例如:

IsInRect2(pLine_Button_RECT,pTouch_Position);

判断pTouch_Position坐标值是否在画线按钮pLine_Button_RECT的矩形区域内。

4)触摸屏消息参数pMsg->LParam为触摸屏动作,定义如下:

#defineTCHSCR_ACTION_CLICK1//

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2