嵌入式实验报告_第1页
嵌入式实验报告_第2页
嵌入式实验报告_第3页
嵌入式实验报告_第4页
嵌入式实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统技术实验报告北京航空航天大学电子信息工程学院嵌入式系统技术上机实验报告学号:姓名:班级:课程名称:嵌入式系统技术上机内容:建立Linux头验开发平台实验报告:这组实验的主要目的是让学生熟悉如何在既有的硬件平台上通过对软件资源的移植和编译建立一套嵌入式开发系统。这组实验主要有以下几个实验组成:(一)ARM-Linux开发工具链的建立一、实验目的:了解ARM-Linux开发工具链的含义,建立流程,以及初步的使用方法。二、实验内容:在宿主机上建立交叉编译环境。三、实验原理:在宿主机上进行工具链的编译,通过进行正确的设置之后能够建立交叉编译环境,为进一步的内核和程序的编译提供工具。四、实验设

2、备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V/2A开关电源软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0ARM-Linux工具链(或者源代码)安装脚本文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs等)五、实验步骤:打开电脑,运行虚拟机以及其上的Linux操作系统解压缩并安装arm-linux交叉编译工具修改配置文件设置PATH变量,使得在任何路径下都可以使用arm-linux-gcc工具重新启动,使设置生效六、实验结果:在任意一个目录下能够使用arm-

3、linux-xxx的命令能够使用arm-linux-gcc编译程序并使用file命令进行查看。(二)Bootloader的编译一、实验目的:通过实验认识启动引导程序的作用、功能和实现机理;了解系统启动过程中的关键操作;学习启动引导程序的编程思想,如何根据硬件的特点来初始化并引导系统;进一步加深对Bootstrap模式下程序编写、编译和测试整个流程的认识。二、实验内容:了解系统硬件初始化的相关要求;了解加载系统的要求和方法;了解如何在Bootstrap模式下操作特定的硬件例如:UART串口、Flash存储器、USB-client控制器;编写相应的Bootloader程序;编写相应的编译脚本和链接

4、配置文件;编译程序,生成启动镜像;下载程序,选择正确选项将Bootloader烧写进Flash中;&选择正确的启动模式,检验是否正确烧入Bootloader。三、实验原理:嵌入式系统作为一个复杂的硬件和软件的结合体,其工作的最开始阶段需要进行对硬件的初始化设置,并且能够引导系统从而将硬件的控制权交给操作系统。这一系列的工作需要启动引导程序来完成。嵌入式系统中的启动引导程序的作用与PC的BIOS程序相类似,PC中完成启动和引导功能的程序便是固化在BIOS芯片中的固件程序。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V

5、/2A开关电源A-to-B型的USB线缆软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0交叉编译工具链终端软件Windows下的HyperTerminal或者Linux下的minicom文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs)五、实验步骤:编写实现在Bootstrap模式下完成硬件初始化和加载系统的引导加载程序,并编写相应的编译命令脚本和和其他相关文件。使用虚拟机上的交叉编译工具链将编写好程序进行编译,生成可以直接在Bootstrap模式下运行的b格式程序。将DBMX1ADS板上的BOOT3:0设置为Bootstra

6、p模式。在计算机串口到DBMX1ADS板上串口间连上串口线。在Windows中运行HyperTerminal,并进行正确的设置:波特率为115200bps,数据位是8,停止位是1,无校验位,无数据流控制,并且将换行符添加到传入行的末尾。(若使用minicom,发送模式选为ascii,其余设置参照2.2)打开DBMX1ADS板上的电源。在HyperTerminal中输入a或A应当从串口程序中看到返回的:。这一步是使ADS处理器自动探测并设定波特率。传送文本文件boot_setup.txt,设置SDRAM的工作方式。传送启动引导加载程序Bootloader_b.txto待Bootloader_b.

7、txt传输完毕之后此程序将在SDRAM中自动运行,将在HyperTerminal中看到程序的提示如下:0.ProgramBootloaderimageProgramkernelimageProgramroot-diskimageBootkernelEraseKERNELpartition,CAUTION!EraseROOTDISKpartition,CAUTION!Pleaseenterselection-输入“0”在SDRAM中运行的程序将会有提示。将电脑主机与DBMX1ADS开发板用A-to-B型的USB线缆连接,稍等片刻,Windows将找到可移动磁盘,将boot.bin复制到此可移动磁

8、盘中。弹出该可移动磁盘关闭DBMX1ADS板的电源,将BOOT3:0设置为正常启动模式。打开电源,Bootloader开始运行,HypterTerminal中将会出现相关的提示信息。六、实验结果:运行在SDRAM中的程序将启动镜像正确烧入Flash中。正常启动方式下Bootloader能够正常启动,能够在HyperTerminal中看到相关的提示信息。(三)ARM-Linux内核的编译和下载一、实验目的:了解内核在整个系统中的作用和地位;了解启动过程中内核的运行方式;通过实验认识内核的配置方法;能够根据自己的需要灵活得配置和裁减内核;掌握将Linux内核烧写进嵌入式系统的方法。二、实验内容:根

9、据特定嵌入式系统特点编写相应配置文件;编译内核;烧写内核。三、实验原理:Linux内核是Linux操作系统运行的核心,进程管理、内存管理、硬件设备的接口都是由Linux内核来完成的。然而Linux内核本身并不是可以直接使用的,更一般的是以源代码的方式提供的。这就要求学生能够使用相应的工具根据系统的具体要求来完成对内核源代码的配置和编译,并且生成嵌入式系统能够使用的内核映像。交叉编译环境已经配置完毕,可以通过简单的方式来进行内核的交叉编译。通过人机交互界面,可以完成对内核进行配置的工作。如果需要加入特殊的要求,可以直接修改相应的配置文件来配置内核。配置完毕之后,通过交叉编译就可以得到能够在嵌入式

10、系统上使用的内核。在Bootloader的支持下可以完成内核的下载。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V/2A开关电源A-to-B型的USB线缆软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0交叉编译工具链终端软件Windows下的HyperTerminal或者Linux下的minicom文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs)五、实验步骤:生成内核映像:从网站获得Linux源代码或者其他方式从网站或者其他方式获得针对CPU和开

11、发板的补丁包解压Linux源代码和对应的补丁包六、实验结果:根据自己对开发板进行设置修改相应的配置文件进入到Linux源代码目录:cd/linux清除多余文件:makeclean进入配置菜单:makemenuconfig对内核进行配置生成依赖关系:makedep编译内核,生成内核映像:makeImage。内核映像一般被存放在linux/arch/arm/boot目录下,文件名为zImage或者bzImage下载内核映像:1.将DBMX1ADS设置为正常启动模式2使用串口线将ADS板与PC机相连打开Windows下的HyperTerminal,设置为115200bps,8N1,无流控(若使用mi

12、nicom,发送模式选为ascii,其余设置参照2.2)打开DBMX1ADS板电源终端程序提示进入Boot选项时按下任意键选择烧写kernel,Bootloader此时提示USB驱动准备就绪用A-to-B型的USB线将PC与ADS板相连待系统识别出可移动磁盘之后,将zImage放入该磁盘中,然后弹出9当终端提示按下任意键之后开始编程,编程分为擦写检查和擦写、编程、校验三步,成功之后终端提示重新启动系统。六、实验结果:生成内核映像下载成功(四)根文件系统的制作和下载一、实验目的:了解根文件系统(rootfilesystem)在整个系统中的作用和地位;了解根文件系统的主要和必要组成部分;能够根据自

13、己的需要灵活得配置根文件系统;掌握将根文件烧写进嵌入式系统的方法。二、实验内容:生成根文件系统;烧写根文件系统。三、实验原理:根文件系统是Linux文件系统中最低层的文件系统,一般在内核被引导和启动之后是必须挂载的。根文件系统必须提供系统启动的配置文件以及完成一些设备的配置工作。另外根文件系统中应当有一些最基本的应用程序提供给控制台使用。若是进行应用程序的开发和使用,根文件系统中需要有一些库来供应用程序动态调用。因此,根文件系统提供了应用程序运行所需要的最基本的文件。在Bootloader的支持下可以完成根文件系统的下载。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统

14、为Windows2000或更高版本)直连串口线3.3V/2A开关电源A-to-B型的USB线缆软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0交叉编译工具链终端软件Windows下的HyperTerminal或者Linux下的minicom文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs)五、实验步骤:生成根文件系统准备文件bdfsnoQT.tgz或者bdfswithQT.tgz和工具mkfs.jffs2解压文件bdfs_noQT.tgz或者bdfs_withQT.tgz3使用工具mkfs.jffs2生成jffs2文件系统修改

15、链接配置文件再次生成jffs2文件系统将DBMX1ADS启动,进入Linux后执行命令:eraseall/dev/mtdblock/2完成旧文件系统的擦除,然后重启DBMX1ADS下载内核映像1.将DBMX1ADS板上的BOOT3:0设置为ON-OFF-OFF-ON2使用串口线将ADS板与PC机相连打开Windows下的HyperTerminal,设置为115200bps,8N1,无流控(右使用minicom,发送模式选为ascii,其余设置参照2.2)。打开ADS板电源终端程序提示进入Boot选项是按下任意键选择烧写rootfilesystem,Bootloader此时提示USB驱动准备就绪

16、用A-to-B型的USB线将PC与ADS板相连待系统识别出可移动磁盘之后,bdnoQT.jffs2放入该磁盘中,将然后弹出,当终端提示按下任意键之后开始编程按下任意键,编程分为擦写检杳和擦写、编程、校验三步,成功之后终端提示重新启动系统。系统重启引导根文件系统之后,使用命令可以将根文件系统改为可写模式。六、实验结果:生成根文件系统映像下载成功实验总结:通过这次实验,我熟悉了Linux系统的操作,学会了编译、建立一个嵌入式开发平台,了解了ARM-Linux开发工具链的含义,建立流程,以及初步的使用方法。并熟悉了Bootloader、Linux内核映像以及根系统的编译。课程名称:嵌入式系统技术上机

17、内容:硬件测试实验实验报告:该实验开发板处于Bootstrap启动模式。SW1的123456拨码开关设置为ON-ON-ON-ON-ON-ON。SW2的123456拨码开关设置为ON-ON-OFF-ON-ON-ON。用minicom传输文件,则用ascii模式发送。(一)Bootstrap模式下硬件测试程序下载及PWM控制蜂鸣器实验一、实验目的:认识MC9328MX1的Bootstrap模式,了解该模式下的程序下载过程以及编译和测试的整个流程。了解DBMX1的脉冲宽度调制器(PWM)的原理,了解及其对蜂鸣器的控制机理。编写程序读写PWM模块寄存器,进行由简单到复杂的控制。二、实验内容:阅读MC9

18、328MX1ReferenceManual,Rev5中关于PWM的部分,对微处理器上的这个模块有初步的认识。通过例程了解编写、编译硬件测试程序的主要步骤。编写程序,下载测试,编译程序,得到结果,使蜂鸣器按照预设的频率及音量发出声音。三、实验原理:DBMX1的PWM模块有四个寄存器:PWMC、PWMS、PWMP、PWMCNT,其中PWMCNT为只读寄存器。PWMC实现对模块工作的控制。其中包括PWM的工作模式,本实验中PWM应该工作在音调模式。具体的设置PWMCR请参考手册。PWM模块的输出为PWMO,ADS将PWMO接蜂鸣器,所以要实现对蜂鸣器的控制要先控制PWMO。(PWMO的占空比即脉冲高

19、电平持续时间与周期之比控制蜂鸣器的音长,PWMO的频率控制蜂鸣器的音调)。据芯片手册的描述,PWMO的占空比由PWMS寄存器中的值控制,频率由PWMP寄存器中的值控制。实验中需要根据实验要求正确设置这些寄存器,从而实现要求。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V/2A开关电源软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0ARM-Linux工具链(或者源代码)安装脚本文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs等)五、实验步骤:1在进行

20、相关背景知识的学习之后编写出C文件(pwm.c),实现控制PWM的简单功能(有例程供参考)。打开VMwareWorkstation,点击Startthisvirtualmachine,进入Linux登陆界面,然后登陆进入Linux。3进入含有pwm.c文件以及其它相关文件(附加说明的编程必备文件中提供)目录下,编写编译命令脚本go.sh。运行该脚本,完成pwm.c的编译。编译成功后可以看到b-record格式文件。4.将DBMX1的Uartl与PC的COM1相连,连上DBMX1电源线。5设置拨码开关SW1为Bootstrap模式SW2按照默认可行连接,即将IrDA关闭,其他为ON,拨码开关SW

21、2中控制PWMO输出信号与蜂鸣器buzzer相连的开关必须保持在闭合状态。6打开Window下附件通讯超级终端,然后打开DBMX1电源开关SW2。(要先设好超级终端才可以打开电源开关,如果相反,需要对DBMX1重启按SW3。7在超级终端中键入字母a或A,如果连接成功看到屏幕显示“:,同时”Uart1的波特率完成自动检测,此时可以开始传输文件。点击传送发送文本文件,找到文件boot_setup.txt(初始化内存所必要的文件)传送,成功后,传送文本文件pwm_b.text,则它被下载入内存。如果成功会看到屏幕上显示b-record格式文件。程序自动被执行,蜂鸣器发出叫声。8如果蜂鸣器未发出指定叫

22、声,在操作无问题的条件下,则需要修改程序,然后从第二步开始重新操作。六、实验结果:从串口终端下载程序完毕之后程序自动运行,将重复发出音调变化的蜂鸣声。用示波器观察PWMO管脚所在的电网络,以及蜂鸣器输入端的波形,可以看到PWM波形,记录这些波形,进行分析。(二)Bootstrap模式下串行口通信实验一、实验目的:了解认识串口这一广泛应用的通讯手段了解MC9328MX1的UART控制器的特点、性能、工作原理、配置方法进一步加深对Bootstrap模式下硬件程序编写、编译和测试整个流程的认识二、实验内容:研读实例程序,了解串口控制的基本流程。编写程序并下载到嵌入式系统,实现串口的收发功能。示例程序

23、中给出了不断向PC机串口发送“IamUART!”的字符串。接收来自PC机串口(通过终端程序)的字符,并将接收到的字符经过某些处理发送回终端程序。在没有操作系统的情况下,完成嵌入式系统和PC机通过串行口传递信息。(扩展要求)编译程序,下载测试,观察结果三、实验原理:Bootstrap模式下,串口1是自动初始化的,可以直接使用,而其它的外设均需要进行初始化。初始化的过程就是将相应的寄存器进行配置。在这个实验中,通过配置串口1、2可以将这两个串口初始化并使用。通过读写相应的寄存器可以修改串口设置、改变串口的工作方式以及输出数据。因此,这个实验的实质就是把通过读写UART的寄存器进行试验性的控制。这种

24、方式是嵌入式系统底层硬件编程的基础。对UART模块有了充分了解之后就能够根据需求编写相应的测试程序,通过交叉编译生成可执行程序。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V/2A开关电源A-to-B型的USB线缆软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0交叉编译工具链终端软件Windows下的HyperTerminal或者Linux下的minicom文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs)五、实验步骤:1学习基础知识,了解串行通信

25、的基本原理,和与UART相关的寄存器的配置方法。2.编写程序串口操作函数uart.c和hello.c,实现如下功能:将系统初始化为异步模式,初始化BHUDBMX1ADS的UART1为115200bps,Databit,8bit1bitStopbit。控制UART1循环接收串口发送来的数据,反复输出“IamUART!”信息。并加一定的延时。3使用交叉编译工具编译以上程序,生成可执行程序。将计算机的串口接到目标板的UART1上。运行超级终端,选择正确的串口号,并对串口参数进行设置,波特率(115200)、奇偶校验(None)、数据位数(8)和停止位(1)、无流控打开Windows下的HyperTe

26、rminal,设置为115200bps,8N1,无流控(右使用minicom,发送模式选为ascii,其余设置参照2.2)。将DBMX1ADS设置为Bootstrap模式。打开DBMX1ADS板上的电源。在终端程序中输入a或A应当从串口程序中看到返回的在Bootstrap模式下通过超级终端下载初始化内存脚本boot_setup.txt。然后下载hellob.txt程序并自动运行。如果程序运行正确,则在超级终端上将回显出“IamUART!。”改变波特率(57600)、奇偶校验(1)、数据位数(7)和停止位(None)、无流控,通过调整源代码中对寄存器的配置,仍然实现串行通信。六、实验结果:示例程

27、序经编译和下载后,从串口终端中可以看到“IamUART!。”进行扩展要求设计的同学的实验结果自行记录。实验总结:通过本次实验,主要了解了DBMX1的脉冲宽度调制器(PWM)的原理及其对蜂鸣器的控制机理,实验操作过程比较顺利。还进一步熟悉了串口的操作。课程名称:嵌入式系统技术上机内容:面向嵌入式系统程序的父叉编译与移植实验报告:该头验开发板处于正常启动模式,使用minicom的zmodem传输文件。SW1的123456拨码开关设置为ON-OFF-OFF-ON-ON-ON。SW2的123456拨码开关配置为ON-ON-OFF-ON-ON-ON,即关闭IrDA模块。(一)C语言编程实验一、实验目的:

28、通过实验认识嵌入式系统上C语言编程与普通PC机上C语言编程的不同点掌握使用交叉编译环境编译嵌入式系统程序的方法二、实验内容:1.使用shell脚本语言编写”HelloWorld”程序,实现在BusyBox下输出”HelloWorld”等信息,可根据掌握shell的熟悉程度随意发挥。2使用C语言编写”HelloWorld”程序,实现在shell下输出”HelloWorld”等信息,同样可根据C的熟悉程度结合BHUDBMX1ADS的特点发挥。三、实验原理:使用交叉编译在宿主机上生成嵌入式系统能够使用的程序。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows20

29、00或更高版本)直连串口线3.3V/2A开关电源软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0ARM-Linux工具链(或者源代码)安装脚本文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs等)五、实验步骤:打开电脑,运行虚拟机以及其上的Linux操作系统。2使用Vi编辑C程序在PC机上进行编译在PC机上进行交叉编译,并且与本机编译的文件进行对比通过zmodem或者其它方式(如超级终端等)将文件传送到嵌入式板上增加文件的可执行属性运行该可执行文件六、实验结果:在嵌入式开发板上运行的程序能够将“Hello,World”从终端控制

30、台输出。(二)MP3播放软件的移植一、实验目的:了解MP3播放器的相关知识;熟悉交叉编译环境,掌握交叉编译的方法;掌握将MP3播放器移植到ARM处理器的基本方法。二、实验内容:准备源代码在PC机上进行编译和测试进行交叉编译的配置交叉编译并测试三、实验原理:由源码通过交叉编译配置生成嵌入式系统能够使用的播放器程序。四、实验设备:(硬件,软件)硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V/2A开关电源A-to-B型的USB线缆软件:虚拟机Vmware虚拟机上运行的RedHatLinux9.0交叉编译工具链终端软件Windows下的HyperTe

31、rminal或者Linux下的minicom文本编辑器(如Windows下的notepad、ultraedit,Linux下的Vi、Emacs)五、实验步骤:准备库文件和madplay的源代码(从教学光盘上获得,或者下载最新的版本或者补丁)在本机上安装库文件以及madplay,进行测试(可选)3交叉编译库文件4交叉编译madplay可执行程序5下载库文件以及madplay可执行程序6.进行相应的库文件路径配直7.测试六、实验结果:能够从耳机中听到播放的声音终端程序中有相应的输出,显示播放器的工作状态实验总结:通过本次实验,认识到了嵌入式系统上C语言编程与普通PC机上C语言编程的不冋点,掌握了使

32、用交叉编译环境编译嵌入式系统程序的方法。掌握了在嵌入式系统上用C编程的步骤。课程名称:嵌入式系统技术上机内容:面向嵌入式系统的Qt/Embedded&qtopia程序设计实验报告:(一)Qt图形界面基础实验一、实验目的:了解当前流行的嵌入式系统的GUI编程了解Qt程序开发的特点和流程通过最基本的Hello,World程序学会如何在宿主机上编译,链接和调试嵌入式平台上的Qt程序二、实验内容:参考背景知识,利用QtDesigner拾建应用程序框架。在本机(宿主机)上完成本机程序的编译、链接、运行。在本机(宿主机)上完成嵌入式平台上程序的交叉编译、链接,并下载运行。三、实验原理:本实验使用交叉编译在宿主机上生成嵌入式系统能够使用的程序,与实验三中不同的部分在于所开发程序是基于Qt类库的。具体的来说就是程序的运行需要动态或者静态地调用Qt图形类库。由于需要嵌入式系统上库的支持,因此开发的过程包括类库的移植和程序的开发及移植。在类库的移植完成的基础上进行程序的开发需要了解Qt程序开发的一般流程和类库应用的一般原理。本实验使用简单的控件使学生了解一般Qt程序开发的一般流程。四、实验设备:(硬件,软件)1.硬件:DBMX1ADS开发板PC机(操作系统为Windows2000或更高版本)直连串口线3.3V/2A开关电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论