南京理工大学嵌入式系统实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

嵌入式系统实验报告指导老师:孙瑜时间:2014年11月实验一虚拟机下Linux程序编写和交叉编译一、实验目的熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用,使用Linux的armv4l-unknown–linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。二、实验内容本次实验使用RedhatLinux9.0操作系统环境,安装ARM-Linux的开发库及编译器。创建一个新目录,并在其中编写hello.c文件。学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。三、预备知识C语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。四、实验设备及工具(包括软件调试工具)硬件:UP-NETARM2410-S嵌入式实验平台、PC机。软件:PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境五、实验步骤内容一虚拟机下Linux程序编写1、实验步骤(1)建立hello文件夹;(2)用Vi编写hello程序;(3)编译、输入gcchello.c–ohello;(4)运行hello文件夹下的hello程序,运行,输入./hello(5)查看运行结果。2、得到的运行结果如图1所示。图1运行结果内容二交叉编译1、实验步骤(1)进入hello文件夹;(2)交叉编译armv4l-unknown-linux-gcchelo.c–ohello;(3)CPhello/arm2410s;(4)设IP:ifconfigetho192.168.0.121,登入arm开发板:telnet192.168.0.115,输入root;(5)挂载:mount–onolock192.168.0.121:/arm2410s/mnt;(6)cd/mnt找到hello(7)./hello运行,查看结果。2、得到的运行结果如图2所示。图2运行结果六、实验思考1.简述如何编写和编译可以在目标板上运行的可执行程序。答:主要通过先建立hello文件夹,然后用Vi编写hello程序,编译之后,运行hello文件夹下的hello程序就可以运行了。实验二多线程应用程序设计一、实验目的1.了解多线程程序设计的基本原理。2.学习pthread库函数的使用。二、实验内容熟悉几个重要的PTHREAD库函数的使用,掌握共享锁和信号量的使用方法。进入/arm2410s/exp/basic/02_pthread目录,运行make产生pthread程序,使用NFS方式连接开发主机进行运行实验。三、实验准备1.交叉编译器的环境设置使用vi修改/root/.bash_profile文件中PATH变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/,存盘后执行:source/root/.bash_profile,则以后armv4l-unknown-linux-gcc会自动搜索到,可以在终端上输入armv,然后按tab键,会自动显示armv4l-unknown-linux-。2.NFS共享文件夹点击主菜单运行系统设置-服务器设置-NFS服务器(英文为:SETUP-SYSTEMSERVICE-NFS),点击增加出现如下在界面,在目录:中填入需要共享的路径,在主机:中填入允许进行连接的主机IP地址。并选择允许客户对共享目录的操作为只读(Read-only)或读写(Read/write)下图是对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。当将远程根用户当作本地根用户时,对于操作比较方便,但是安全性较差。最后退出时则完成NFS配置。配置好后,界面应显示如下图所示:四、实验步骤1.进入02_pthread文件夹,cd/arm2410s/exp/basic/02_pthread;2.交叉编译:make之后,telnet192.168.0.115,输入root;3.mount–onolock192.168.0.121/arm2410s/mnt;4.找到可执行文件:cd/mnt/exp/basic/02_pthread;5.运行./pthread,查看结果。五、实验结果运行结果如图3所示,其中由于原始程序中显示的数据为0-999,我们觉得数据太多,显示不方便。所以,将原程序中的N改为20。图3显示结果实验三串行端口程序设计一、实验目的1.了解在linux环境下串行程序设计的基本方法。2.掌握终端的主要属性及设置方法,熟悉终端I/O函数的使用。3.学习使用多线程来完成串口的收发处理。二、实验内容学习终端I/O函数的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中。三、预备知识1.有C语言基础。2.掌握在Linux下常用编辑器的使用。3.掌握Makefile的编写和使用。4.掌握Linux下的程序编译与交叉编译过程四、实验设备及工具硬件:UP-NETARM2410-S嵌入式实验平台、PC机。软件:PC机操作系统REDHATLINUX9.0+DNW+ARM-LINUX开发环境。五、实验步骤1、阅读理解源码进入exp\basic\03_tty目录,使用vi编辑器或其他编辑器阅读理解源代码。2、编译应用程序运行make产生term可执行文件[root@zxtroot]#cd/arm2410s/exp/basic/03_tty/[root@zxt03_tty]#makearmv4l-unknown-linux-gcc-c-oterm.oterm.carmv4l-unknown-linux-gcc-o../bin/termterm.o-lpthreadarmv4l-unknown-linux-gcc-otermterm.o-lpthread[root@zxt03_tty]#lsMakefileMakefile.baktermterm.cterm.otty.c3、下载调试切换到minicom终端窗口,使用NFSmount开发主机的/arm2410s到/host目录。进入exp\basic\03_tty目录,运行term,观察运行结果的正确性。[/mnt/yaffs]cd/dev[/dev]ln–sf/dev/tts/0ttyS0[/dev]cd/mnt/yaffs[/mnt/yaffs]mount-tnfs-onolock192.168.0.121:/arm2410s/host[/mnt/yaffs]cd/host/exp/basic/03_tty/[/host/exp/basic/03_tty]./term六、实验结果得到的运行结果如图4所示。图4运行结果实验四A/D接口实验一、实验目的了解在linux环境下对S3C2410芯片的8通道10位A/D的操作与控制。二、实验内容1.学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。2.阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。3.利用外部模拟信号编程实现ARM循环采集全部前4路通道,并且在超级终端上显示。三、预备知识1.有C语言基础。2.掌握在Linux下常用编辑器的使用。3.掌握Makefile的编写和使用。4.掌握Linux下的程序编译与交叉编译过程。四、实验设备及工具硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium500以上,硬盘10G以上。软件:PC机操作系统REDHATLINUX9.0+DNW+ARM-LINUX开发环境五、实验步骤1、阅读理解源码进入/arm2410s/exp/basic/04_ad目录,使用vi编辑器或其他编辑器阅读理解源代码。2、编译应用程序运行make产生ad可执行文件[root@zxt/]#cd/arm2410s/exp/basic/04_ad/[root@zxt04_ad]#makearmv4l-unknown-linux-gcc-c-omain.omain.carmv4l-unknown-linux-gcc-o../bin/admain.o-lpthreadarmv4l-unknown-linux-gcc-oadmain.o-lpthread[root@zxt04_ad]#lsadhardware.hmain.oMakefile.baks3c2410-adc.hbinmain.cMakefilereadme.txtsrc3、下载调试换到minicom终端窗口,使用NFSmount开发主机的/arm2410s到/host目录。[/mnt/yaffs]mount-tnfs-onolock192.168.0.56:/arm2410s/host[/mnt/yaffs]cdad[/mnt/yaffs/ad]insmods3c2410-adc.o[/mnt/yaffs]cd/host/exp/basic/04_ad/[/host/exp/basic/04_ad]./ad六、实验结果调节开发板上的三个黄色的电位器,观察a0,a1,a2的变化。变化如图5所示。图5实验结果七、实验思考1.ARM的A/D功能的相关寄存器有哪几个,对应的地址是什么?答:采样控制寄存器(ADCCON)0X58000000ADC触摸屏控制寄存器(ADCTSC)0X58000004ADC启动延时寄存器(ADCDLY)0X58000008A/D转换结果数据寄存器(ADCDAT0)0X580000C(ADCDAT1)0X580000102.如何启动ARM开始转换A/D,有几种方式?转换开始时ARM是如何知道转换哪路通道的?如何判断转换结束?答:有两种方式软件和硬件启动。A/D转换可以通过读来启动。当ADCCON[1]时,就可以启动。通过对ADCCON[5:3]是对模拟输入通道进行选择。实验五D/A接口实验一、实验目的1.掌握MAX504D/A转换芯片的使用方法2.掌握不带有D/A的CPU扩展D/A功能的主要方法3.了解D/A驱动程序加入内核的方法二、实验内容了解实现D/A系统对于系统的软件和硬件要求。阅读MAX504芯片文档,掌握其使用方法。三、预备知识1.有C语言基础2.掌握在Linux下常用编辑器的使用3.掌握Makefile的编写和使用4.掌握Linux下的程序编译与交叉编译过程四、实验设备及工具硬件:UP-NETARM2410-S嵌入式实验平台、PC机。软件:PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境五、实验原理1.阅读理解源码进入/arm2410s/exp/basic/05_da目录,使用vi编辑器或其他编辑器阅读理解源代码。2.编译应用程序运行make产生da可执行文件da_main[root@zxt/]#cd/arm2410s/exp/basic/05_da/[root@zxt05_da]#makearmv4l-unknown-linux-gcc-c-oda_main.oda_main.carmv4l-unknown-linux-gccda_main.o-oda_main[root@zxt05_da]#lsda_mainda_main.cda_main.odocdriversMakefiles3c44b0-spi.h3.下载调试切换到minicom终端窗口,使用NFSmount开发主机的/arm2410s到/host目录,然后进入/host/exp/05_da/drivers目录,用insmodexio.o命令插入D/A驱动,并用lsmod命令查看是否已经插入。[/mnt/yaffs]cd/host/exp/basic/05_da/[/host/exp/basic/05_da]cddrivers/[/host/exp/basic/05_da/drivers]insmodexio.oUsingexio.o[/host/exp/basic/05_da/drivers]lsmodModuleSizeUsedbyNottaint

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功