您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 嵌入式系统与应用实验指导报告书
安徽工业大学嵌入式系统与应用实验报告册学院:电气与信息工程学院专业:测控技术与仪器姓名:学号:-1-实验一Linux认知实验一、实验目的:1、通过实验,掌握Linux操作系统下常用的命令,能灵活运用这些命令完成特定的工作;2、学习Linux下文本编辑器vi的使用方法。二、实验内容:1、新建文件hello.c,文件位于/home/test/目录下;2、使用vi编辑三、实验步骤:1、打开电脑上的虚拟机,加载Linux系统。2、输入密码进入系统后,按ctrl+Alt+t打开终端;3、使用mkdir建立/home/test文件夹;4、使用chmod命令修改文件夹权限;5、使用vi打开hello.c文件,从而新建文件;6、在hello.c文件中输入程序,使得程序能够显示打印字符:“Hello,Linux!”四、实验结果:(包括代码源码和运行结果)1、源代码(1)hello.c程序代码:#includestdio.hintmain(){printf(hellolinux!\n);}(2)修改文件夹权限:用chmod修改文件夹权限lv@lv-pc:~$cdtest1lv@lv-pc:~/test1$ls-l总用量28-rwxr-xr-x1lvlv81365月711:36a.out-rwxr-xr-x1lvlv78695月1109:10main-rw-r--r--1lvlv2505月711:35main.c-rwxr-xr-x1lvlv81363月3020:28mianlv@lv-pc:~/test1$chmod733a.out-2-lv@lv-pc:~/test1$ls-l总用量28-rwx-wx-wx1lvlv81365月711:36a.out-rwxr-xr-x1lvlv78695月1109:10main-rw-r--r--1lvlv2505月711:35main.c-rwxr-xr-x1lvlv81363月3020:28mian2、实验结果五、思考:在建立文件夹的过程中,如果不进入管理员权限,会出现什么问题?同样,不进入管理员权限,vi编辑完代码,能不能保存退出?chmod后面的数字参数是什么含义?答:会出现:键入mkdirtest后显示:无法创建目录test:权限不够的问题。不进入管理员权限,vi编辑完代码,不能保存退出。想对文件夹所修改成的权限。-3-实验二交叉编译实验一、实验目的:1、通过实验,掌握交叉编译的原理,理解文件系统挂载的原理;2、掌握交叉编译工具的使用,学会使用两种不同的方式访问目标板系统,学会使用gdb对程序进行调试。二、实验内容:编辑hello.c程序,使用交叉编译工具进行编译,生成可执行文件,分别使用minicom和telnet登录到目标板上,对程序进行运行调试。三、实验步骤:1、打开电脑上的虚拟机,加载Linux系统。2、Linux系统登录完毕,设置PC机网络地址为192.168.0.10,其中子网掩码为255.255.255.0,连接好实验箱上的电源、网线和USB转串口工具以及串口延长线。3、按ctrl+Alt+t打开终端,输入sudominicom打开minicom,查看串口设置是否正确,进行串口设置;4、打开试验箱电源,查看启动代码,启动完成后,实验箱屏幕显示界面,按“Ctrl+c”,然后按“Enter”,进入板子系统。5、在文件系统(/home/nfs)下的test文件夹下,建立hello.c的程序,程序中输入相应程序,实现打印信息“hello,linux”并换行输出1~10;6、再打开一个终端,在该终端中转到文件系统test文件夹,使用交叉编译工具对hello.c进行编译。7、在minicom中,目录转到“/test”文件夹下使用./(你的程序名)运行程序;8、使用“gdb你的程序名”运行程序,设置断点进行程序调试。9、关闭minicom,终端中输入telnet,然后输入open192.168.0.11,等待出现“login:”输入“root”,进入目标板系统;10、目录转到“/test”文件夹下使用./(你的程序名)运行程序;11、使用“gdb你的程序名”运行程序,设置断点进行程序调试。四、实验结果:(包括代码源码和运行结果)1、源程序#includestdio.hmain(){inti;printf(“hellolinux!!\n”);for(i=1;i=10;i++)printf(“thisis%d\n”,i);}-4-2、运行结果wyxj@wyxj-cpu:~$cd/home/nfs/testwyxj@wyxj-cpu:/home/nfs/test$ls1290640686-3-3-2demohelloled.crtc.cwatchdog129064068~adcgpiohello1mizi-pda.tar.gzrtcreadwatchdog.c6-3-1-1adc.cgpio.chello.creadme.txtrtcread.c6-3-3-1a.outheeeledrtcuartwyxj@wyxj-cpu:/home/nfs/test$gcchello.c-ohellowyxj@wyxj-cpu:/home/nfs/test$./helloHellolinux!!thisis1thisis2thisis3thisis4thisis5thisis6thisis7thisis8thisis9thisis10wyxj@wyxj-cpu:/home/nfs/test$armv4l-unknown-linux-gcchello.c-ohelloarmwyxj@wyxj-cpu:/home/nfs/test$./helloarmbash:./helloarm:无法执行二进制文件(1)在Telnet下运行:wyxj@wyxj-cpu:~$telnettelnetopen192.168.0.11Trying192.168.0.11...Connectedto192.168.0.11.Escapecharacteris'^]'.Linux2.4.18-rmk7-pxa1(192.168.0.11)(0)192.168.0.11login:rootBusyBoxv0.60.3(2002.05.13-08:36+0000)Built-inshell(ash)Enter'help'foralistofbuilt-incommands.#./helloarm./helloarm:Nosuchfileordirectory#cdtest#./helloarmHellolinux!!-5-thisis1thisis2thisis3thisis4thisis5thisis6thisis7thisis8thisis9thisis10(2)在minicom下运行:wyxj@wyxj-cpu:~$sudominicom[sudo]passwordforwyxj:Welcometominicom2.6.2OPTIONS:I18nCompiledonFeb82013,06:27:51.Port/dev/ttyUSB0,21:22:32PressCTRL-AZforhelponspecialkeysWaitingforentertostart'/bin/sh'(pid46,terminal/dev/console)PleasepressEntertoactivatethisconsole.Startingpid46,console/dev/console:'/bin/sh'BusyBoxv0.60.3(2002.05.13-08:36+0000)Built-inshell(ash)Enter'help'foralistofbuilt-incommands.#ls333.bmpmicrowindows-0.90sbinbinmmcsdsheryl.mp3bombmnttestdevnotebooktmpetcpig.mp3usrhello.cprocvariceage.mpegqcop-msg-qpevconguilibqcop-msg-quicklauncherlinuxrcqtembedded-root#cdtest#./helloarmHellolinux!!thisis1thisis2thisis3thisis4-6-thisis5thisis6thisis7thisis8thisis9thisis10(3)超级终端下运行:3、gdb调试-7--8-五、思考:1、在使用交叉编译工具进行编译过程中,要生成可用gdb调试的程序,需要再编译过程中加什么参数?答:gcc-ghello.c-ohello要加上“-g”,这样编译出的可执行代码中才包含调试信息,否则之后gdb无法载入该执行文件。2、使用telnet进行目标板访问过程中,什么时候运行open命令不会出现连接不到目标板的情况?答:目标版能显示文档内容,表示所有连接成功。连接不到原因:1)线路问题;(检查线路);2)telnet的网络设备负载过高,无法正常响应服务;(重启一下设备);3)telnet的网络设备禁止了telnet的23端口...(于设备中打开该端口);-9-实验三S3C2410基础实验一、实验目的:了解在ADS环境下对S3C2410芯片的AD接口的操作、键盘/LED接口的操作、直流和步进电机的工作原理和实际编程操作。二、实验内容:1、实现使用ADS和简易JTAG仿真器连接ARM芯片S3C2410;2、使用提供例程和超级终端对上述的各个模块的接口进行实际操作。三、实验步骤:1、ADS实验环境的建立,参照《THUEA-1A型嵌入式(ARM9)高级实验/开发系统》实验指导书的157~162页;2、设置好以后,到D盘ARM文件夹下,找到ADS的工程文件,拖入到打开的ADS1.2中;3、重启开发板,超级终端中显示等待状态,点击ADS1.2上的调试按钮,程序开始下装到开发板;ADS进入调试界面;4、点击调试界面上的运行按钮,程序执行到主程序处,再次点击运行程序;5、程序运行后,超级终端上显示运行提示,按提示操作键盘/LED、电机和AD转换.四、实验结果:(超级终端上的运行提示和实际运行结果)1、运行程序:(1)A/D程序:读取采样值函数:intReadAdc(intch){inti;staticintprevCh=-1;rADCCON=(114)|(preScaler6)|(ch3);//设立通道if(prevCh!=ch){rADCCON=(114)|(preScaler6)|(ch3);//设立通道for(i=0;iLOOP;i++);//准备下一通道prevCh=ch;}rADCCON|=0x1;//开始ADCwhile(rADCCON&0x1);//检查Enable_start位是否变低while(!(rADCCON&0x8000));//检查EC(EndofConversion)flag是否为高-10-return((int)rADCDAT0&0x3ff);}在超级终端显示数字量:{a4=ReadAdc(4);a6=ReadAdc(6);Uart_Printf(AIN4:%0.2fAIN6:%0.2f\n,a4*3.3/1024,a6*3.3/1024);}(2)D/A程序:MAX504的控制程序如下:voidDA_Test(){inti;intSAVrGPACON,SAVrGPFCON,SAVrGPGCON;floatv;SAVrGPACON=rGPACON;//寄存器状态保护SAVrGPFCON=rGPFCON;//寄存器状态保护SAVrGPGCON=rGPGCON;//寄存器状态保护MAX504_CLEAR();//将DAC寄存器设为0Uart_Printf([DACTest]\nPleaseobservethecorrespondingofoutputandinput:\n);for(i=0;i1024;
本文标题:嵌入式系统与应用实验指导报告书
链接地址:https://www.777doc.com/doc-4225132 .html