嵌入式Linux系统开发教程实验报告
Linux嵌入式系统实验报告一
Linux嵌入式系统实验报告一一、实验目的通过编写fork和exec等系统调用的程序,加深对系统进程及其控制的了解。
二、实验原理fork后父子进程会同步运行,但父子进程的返回顺序是不确定的。
设两个变量global 和test来检测父子进程共享资源的情况。
同时在进程退出时对exit和_exit的区别进行测试和说明;exec函数族可以让启动一个外部程序。
三、实验内容1.编译执行,并分析结果:执行结果:the test content!fork test!global=24 test=2 Parent,my PID is 3236global=23 test=1 Child,my PID is 3237分析:pid = fork(); 之后,pid == 0 的话,就是子进程,子进程才执行:global++;test++;printf("global=%d test=%d Child,my PID is %d\n",global,test,getpid());所以输出:global=23 test=1 Child,my PID is 3237主进程执行:global+=2;test+=2;printf("global=%d test=%d Parent,my PID is %d\n",global,test,getpid());exit(0)所以输出:global=24 test=2 Parent,my PID is 32362.将上述代码最后的两行代码替换为注释掉替换为printf("global=%dtest=%d Parent,my PID is %d",global,test,getpid());_exit(0);重新编译,查看结果,解释原因。
输出:the test content!fork test!global=23 test=1 Child,my PID is 3278输出结果少了之前的第四行原因:exit()在结束调用它的进程之前,要进行如下步骤:1.调用atexit()注册的函数(出口函数);按A TEXIT注册时相反的顺序调用所有由它注册的函数,这使得我们可以指定在程序终止时执行自己的清理动作.例如,保存程序状态信息于某个文件,解开对共享数据库上的锁等.2.cleanup();关闭所有打开的流,这将导致写所有被缓冲的输出,删除用TMPFILE函数建立的所有临时文件.3.最后调用_exit()函数终止进程。
淮阴工学院嵌入式系统开发与应用实验报告实验四嵌入式Linux开发环境的搭建
实验四嵌入式Linux开发环境的搭建一、实验目的1、了解嵌入式Linux开发环境的作用2、掌握相关服务器的安装二、实验准备硬件:JXARM9-2410教学实验箱,PC机软件:Windows XP操作系统,ADS集成开发工具三、实验过程1、tftp网络配置(1) 虚拟机网络配置a. 点击虚拟机-设置,将网络适配器设置为自定义,并指定虚拟网络为VMnet0。
b. 点击编辑-虚拟机网络参数-主机虚拟网络映射,并且指定其桥接的网卡c. Red Hat IP配置●点击系统设置-网络,双击eth0配置IP信息如下:地址:172.20.11.243子网掩码:255.255.255.0默认网关地址:172.20.11.254DNS: 210.29.152.4●点击激活,在弹出的对话框点击是按钮●测试网络连接是否正常方法一:在linux下,点击系统工具-终端,输入命令ping 172.20.11.243方法二:在主系统中打开命令提示符,输入ping 172.20.11.243(2)修改tftp的配置文件a.在终端下输入gedit /etc/xinetd.d/tftpb.修改”disable=yes”为”=no”,点击保存,关闭geditc.重启xinetd服务,使刚才的更改生效,在终端里输入,/etc/init.d/xinetd restartd.进入tftpboot文件夹创建一个测试文件testfilee.取得tftpboot文件夹的所有权限,命令chmod 777 /tftpbootf.启动tftp测试上传和下载2配置NFS服务器a.设置:开始->系统设置->服务器设置->NFS服务器打开配置对话框第一步:点击添加nfs共享第二步:输入目录/tftpboot第三步:输入主机172.20.11.243第四步:基本权限为读/写第五步:点击确定第六步:关闭nfs服务器配置b.在终端输入命令/etc/init.d/nfs restart,重启nfs服务c.将nfs服务器挂载到/home/tmp中,命令:mount172.20.11.243:/tftpboot /home/tmp。
嵌入式Linux系统生产实习报告1
XI`AN TECHNOLOGICAL UNIVERSITY 实习报告班级:姓名:学号:专业:实习类别:指导教师:实习日期:实习成绩:西安工业大学教务处制2、路径是指从树型目录中的某个目录层次到某个文件的一条道路。
此路径的主要构成是目录名称,中间用“/”分开。
任一文件在文件系统中的位置都是由相应的路径决定的。
2、 Linux 的文件命名规则由 Linux 文件系统的规定,文件名和目录名可以包含以下字符:大写英文字母 A-Z、小写英文字母 a-z、数字 0-9、“@”、“_”等。
在文件名和目录中,不得包括的字符有: * ? > < / ; & ! [ ] | \‘“ ( ) { }。
不得以”+“和”-“开头。
Linux 中的文件名是大小写敏感的,也就是说,rainbow 和 Rainbow 代表两个丌同的文件。
一个以“.”打头的文件表明这个文件是隐藏文件(可以用 ls-a 查看)。
Linux 系统中文件名的最大长度为 255 个字符。
3、文件权限文件的权限,分为三段,分别代表“所有者(u)”、“同组人(g)”、“其它人(o)”的读(r)、写(w)、执行(x) 的权限。
对普通文件而言,“r”代表可以阅读文件内容,“w”代表可以修改或删除文件内容, "x"代表可以将文件作为命令来执行(同时需要 r 权限)。
修改文件权限:命令——chmod(最常用) 例:[root@localhost ~]# chmod 664 a.txt4、Linux 下开发工具——viVi是“Visual interface”的简称 Unix、Linux 下的程序开发工具 Unix、Linux 下修改配置文件 Vi可以执行输入、删除、查找、替换、块操作等众多文本操作 Vi不是一个排版程序、它只是一个文本编辑程序 Vi是全屏幕文本编辑程序,它没有菜单,只有命令。
vi 编辑器有三种工作模式:命令行模式:刚进入文件即为此模式,此模式下可以移动鼠标、通过键盘输入一些命令完成查找、复制等功能,或进入底行模式、插入模式插入模式:在命令行模式下输入 i 或 a 进入(最常用为 i),只有在命令行模式下才能字符输入,按【Esc】返回到命令行模式底行模式:在该模式下,用户可以将文件保存或退出。
实验一 嵌入式Linux系统的制作
Linux与嵌入式实验报告嵌入式Linux系统的制作学院电子与信息学院专业信息工程(3)班学生姓名叶志成实验台号指导教师秦华标、官权升实验日期2016年6月9日作为嵌入式系统,使用环境通常比较恶劣,而应用又比较简单,因此在很多嵌入式系统中经常会使用 u 盘之类的存储设备来代替硬盘,本实验的要求就是基于 u 盘制作一个 linux 运行系统。
目前新出的主板 BIOS 都支持 USB 软盘和硬盘的启动方式,在优盘上建立Linux 启动盘,可以加深对 linux 系统的理解,你可以使用 Linux 建立小巧的内核,建立网络环境,快速地判断和排除网络故障与传送文件。
一、实验目的1.了解 linux 系统内核的基本工作原理。
2.掌握系统内核的裁减方法,了解 linux 内核裁减过程,裁减系统内核并编译。
3、学会基于 busybox 的根文件系统的制作。
4、学会制作一个基于 U 盘的 linux 运行系统。
验收标准:成功从 U 盘启动自己裁剪编译并带有个人信息的 linux 系统二、实验原理1、LINUX 操作系统启动过程分析:当用户打开 PC 的电源,BIOS 开机自检,按 BIOS 中设置的启动设备启动,接着启动设备上安装的引导程序 lilo 或grub开始引导 Linux,Linux 首先进行内核的引导,接下来执行 init 程序,init 程序调用了 rc.sysinit 和 rc 等程序,rc.sysinit 和 rc 当完成系统初始化和运行服务的任务后,返回 init;init 启动了 mingetty 后,打开了终端供用户登录系统,用户登录成功后进入了 Shell,这样就完成了从开机到登录的整个启动过程。
下面就将逐一介绍其中几个关键的部分:Ubuntu 可以使用 lilo 或 grub 等 boot loader 开始引导 Linux 系统,当引导程序成功完成引导任务后,Linux 从它们手中接管了 CPU 的控制权,然后 CPU就开始执行 Linux 的核心映象代码,开始了 Linux 启动过程。
Linux嵌入式系统实验报告
嵌入式操作系统实验报告一.在VMware Player 下安装Redhat Linux根据学习需要我将Redhat Linux 分为四个主分区,总大小12G /boot按常理分了100M,/home因为需要今后练习多用户登录,管理分了5000M,swap可交换空间按常理内存的2倍分了1000M,根目录给予剩余的空间。
按老师的安装步骤(如下图):调试了网络,安装了虚拟光驱,完成了windows与Linux 的分享文件夹的建立,Redhat Linux在虚拟机上的安装基本完成。
二.常用的命令和VIM1.为自己方便我对bash的环境配置进行了设置:先以普通用户身份登入RedHatLinux,开启终端输入su –root 再输入密码切换成root 身份,LoginShell只会读两个配置文件,我要修改的~/.bash_profile文件,它是属于用户个人设置的文件。
用vim(程序编辑器)修改~/.bash_profile文件内容输入PS1=’[\# \u@\h \w]\$’,对提示符进行修改,在原本[root@localhost ~]前面加上命令执行过的条数,方便我自己记录。
改好后在一般模式下输入:wq保存退出。
我不想在注销重新登入后看到提示符的改变,所以我用source命令(读取环境配置文件的命令),将主文件夹的~/.bash_profile的设置读入目前的bash环境。
(改后如图)2.新增与删除用户:useradd,相关配置文件,passwd,usermod,userdel 用useradd完全参考默认值新建一个用户3.用passwd命令修改账号密码(2012.3.22)以root身份可以给账号设置各种各样的密码,给Sky账号设置密码可以用Sky账号登入,修改自己的密码需要先输入自己账号的旧密码,相对root的更为严格4.job control的管理直接将命令丢到后台中“执行”的&将目前的工作丢到后台中“暂停”:[ctrl]+z直接输入fg去“+”的工作执行输入fg %工作号码取对应的工作执行, +和-的顺序改变管理后台当中的工作:kill立即强制删除工作号码为2的任务,参数为“-9”以正常方式结束程序的方式参数“-15”三.调试编译工具和内核编译1.串口调试工具minicom的使用2.编译器文件Makefile的使用练习用vim编写hello.c源代码用vim编写编译器make的调用执行规则文件Makefile3.编译器gcc的使用练习4.调试器gdb的使用练习5.内核的定制编译用命令wget下载Linux-2.6.30.3的内核压缩文件,解压缩到/usr/src/kernels/目录下。
嵌入式Linux实验报告
嵌 入 式 程 序 设 计
实 验 报 告
评 语:
成绩
教 师:
年 月 日
班 级:
学 号:
姓 名:
地 点:EII-506
7)用命令service启动宿主机上的nfs服务,并用exportfs命令查看nfs的共享目录。然后在目标机上挂载nfs
8)在目标机中运行web_server_process。
9)打开宿主机的浏览器,输入http://192.168.0.5/file,查看执行结果
10)在宿主机的浏览器中输入http://192.168.0.5,查看执行结果。
unsigned long *CS1_Address, *CS2_Address;
structseg
{
char LED1_Val;
char LED2_Val;
char LED3_Val;
char LED4_Val;
char negative;
};
2)同时更新所有七段数码管驱动显示函数:CS1_address对应第一组七段数码管的位选信号,该组第一个数码管的段选信号保存在short变量的低8位,该组第二个数码管的段选信号保存在short变量的高8位。CS2_address对应第二组七段数码管,其余操作和第一组的七段数码管一致。
嵌入式Linux系统的启动过程分析
1)启动Bootloader
Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于PC机上的BIOS。在本系统中这段程序的起始地址为0x。Bootloader在完成初始化RAM、初始化串口、检测处理器类型、设置Linux启动参数后,开始调用Linux内核。本系统Linux内核镜像zImage放在Flash中,Bootloader首先把它拷贝到RAM中,然后跳转到RAM中对zImage进行解压缩。解压缩后启动内核。
嵌入式linux实验报告
嵌入式linux实验报告嵌入式Linux实验报告一、引言嵌入式系统是指嵌入在各种设备中的计算机系统,它通常包括硬件和软件两部分。
而Linux作为一种开源的操作系统,被广泛应用于嵌入式系统中。
本实验报告将介绍嵌入式Linux的相关实验内容和实验结果,以及对实验过程中遇到的问题的解决方法。
二、实验目的本次实验旨在通过搭建嵌入式Linux系统,了解Linux在嵌入式领域的应用,并掌握相关的配置和调试技巧。
具体目标如下:1. 理解嵌入式系统的基本概念和原理;2. 掌握Linux内核的编译和配置方法;3. 熟悉交叉编译环境的搭建和使用;4. 实现简单的应用程序开发和调试。
三、实验环境1. 硬件环境:嵌入式开发板、计算机;2. 软件环境:Ubuntu操作系统、交叉编译工具链、嵌入式Linux内核源码。
四、实验步骤与结果1. 内核编译与配置通过下载嵌入式Linux内核源码,使用交叉编译工具链进行编译和配置。
在编译过程中,需要根据实际需求选择合适的内核配置选项。
编译完成后,生成内核镜像文件。
2. 系统烧录与启动将生成的内核镜像文件烧录到嵌入式开发板中,并通过串口连接进行启动。
在启动过程中,可以观察到Linux内核的启动信息,并通过串口终端进行交互。
3. 应用程序开发与调试在嵌入式Linux系统中,可以通过交叉编译工具链进行应用程序的开发。
开发过程中,需要注意与目标平台的兼容性和调试方法。
通过调试工具,可以实时监测应用程序的运行状态和调试信息。
五、实验结果与分析在本次实验中,我们成功搭建了嵌入式Linux系统,并实现了简单的应用程序开发和调试。
通过观察实验结果,我们可以得出以下结论:1. 嵌入式Linux系统的搭建需要一定的配置和编译知识,但通过合理的配置选项和编译参数,可以实现系统的定制化;2. 应用程序的开发过程中,需要注意与目标平台的兼容性和调试方法,以确保程序的正确运行和调试的有效性;3. 嵌入式Linux系统的稳定性和性能受到硬件和软件的综合影响,需要进行系统级的优化和调试。
linux嵌入式实验报告
大连理工大学本科实验报告实验名称:嵌入式操作系统学院(系):计算机学院实验专业:计算机系班级:0703学号:学生姓名: mqlz2010年 12 月 6 日实验一:linux内核裁剪预习报告一、实验目的:1、了解Linux内核源代码的目录结构及各目录的相关内容2、了解Linux内核各配置选项内容和作用3、掌握Linux内核配置文件的作用4、握Linux内核的编译过程5、掌握将新增内核代码加入到Linux内核结构中的方法二、实验原理Linux对于计算机硬件、网络和文件系统等部件的驱动程序支持既可以放在系统内核中,也可以作为一个可加载的模块(modules)使用。
当驱动程序放在系统内核中时,Linux 假定该硬件是存在于系统中的;而作为可加载模块使用时,只有在知道该硬件存在于系统时才会作为系统内核的一部分,当 Linux 检测到硬件时,该模块才被加入到系统内核中。
三、实验步骤1、检查编译器的版本用低版本的编译器去编译高版本的内核有可能不能编译或使内核不能使用。
要查看编译器版本,可以执行命令:#gcc –v进入系统内核源代码目录。
一般系统内核的源代码放在 /usr/src/ 目录下。
用 ls –l 命令查看可能显示如下:#ls –l /usr/srcTotal 3lrwxrwxrwx 1 root root 12 May 4 14:36 >linux-2.4.20-8drwxr-xr-x 15 root root 1024 May 14 11:37drwxr-xr-x 3 root root 1024 May 4 14:38 sendmail其中、是一个链接文件,它的链接目标是指向目录,因此、cd 就是进入目录。
2、删除过时的目标文件进入 /usr/src/linux-2.4.20-8 目录,运行 make mrproper 命令以清除过时、旧的目标文件。
这是因为经过多次编译后系统会留下部分目标文件,如果没有清除干净可能造成本次编译出错。
PXA270嵌入式实验开发系统LINUX实验报告
PXA270嵌入式实验开发系统LINUX实验报告一、实验目的1、了解嵌入式系统及其相关基础知识。
2、了解宿主PC机与PXA270目标版,能正确连接宿主PC机与PXA270目标版。
3、学会在宿主机上安装Linux操作系统——RedHat9.0。
4、学会建立宿主PC机端的开发环境。
5、学会配置宿主PC机端的超级终端。
6、配置宿主PC机端的TFTP服务,并开通此服务。
7、配置宿主PC机端的NFS服务,并开通此服务。
8、学会简单Linux驱动程序的设计。
二、实验内容(1)基本实验:LINUX开发环境的搭建、通讯配置实验一到七为基础实验,前六个主要是为了在熟悉实验操作平台的同时为后续实验搭建好软、硬件环境,配置好相关的协议、服务。
实验七让我们第一次正面接触嵌入式Linux的开发,第一次编写嵌入式系统的应用程序,亲身实践开发步骤,熟悉开发流程,为之后的实验打下基础。
实验一:建立硬件实验平台即各个硬件的互联,搭建好实验的硬件环境。
实验二:Linux操作系统RedHat9的安装即在宿主PC端安装虚拟机,提供实验需要的Linux操作系统。
实验三:建立主机软件开发环境即宿主PC端开发环境的安装与配置。
在终端窗口Terminal输入指令:mount /dev/cdrom /mnt/cdrom /*挂载光盘*/cd /mnt/cdrom /*进入光盘*/./install /*执行开发环境自动安装脚本*/如果光盘挂载不上,用umount命令卸载光盘:umount /mnt/cdrom /*卸载光盘*/实验四:配置超级终端或配置minicom即配置宿主PC机端的超级终端,使PC机与PXA270目标板之间可以通过串口通讯。
在每次重启宿主PC机时,都需要重新将超级终端挂载到虚拟机上,挂载之前须通过ifconfig命令查看该机的IP地址,若其已经复位,须用命令:ifconfig eth0 192.168.0.100 up重置宿主PC机的IP地址。
ARM嵌入式linux系统设计与开发实验报告
ARM嵌入式linux系统设计与开发实验报告一.实验目的1. 了解Qt Designer的使用方法以及Qt/Embedded交叉编译的基本步骤;2. 学会在使用Qt Designer编写程序,交叉编译,在开发上运行。
二.实验内容编写一个电子时钟显示器程序,并将结果在开发板的LCD显示屏上显示。
三、预备知识1. 熟悉使用C++语言程序设计;2. 掌握Linux下常用编辑器的使用;3. 掌握Linux下程序编译;4. 熟悉Qt程序设计;四、实验室设备和工具硬件: PC机Pentumn500以上, 硬盘10G以上、UP-CUP S2410嵌入式开发试验箱软件:PC机操作系统REDHAT LINUX 9.0 +MINICOM +ARM-LINUX开发环境五.实验步骤1. 源代码的编写。
(1)新建实验文件夹。
在/home/sprife/qt4/for_pc/下新建文件夹fuxiaqing(2)编写源程序,生成digiclock.cpp和moc_digiclock.cpp 文件。
(3)用vi编辑器编写main函数,生成文件main.cpp。
2. 检查程序能否在PC机上运行。
开启终端,在fxq目录下进行编译,运行。
输入命令:/home/sprife/qt4/for_pc/qt-embedded-4.4.0/bin/qmake–project,生成fuxiaqing.pro文件。
/home/sprife/qt4/for_pc/qt-embedded-4.4.0/bin/qmake 生成Makefile文件。
#make 生成可以执行文件fuxiaqing执行可执行文件:./fuxiaqing ,查看运行结果。
3.挂载共享目录,设置环境变量。
在windows下,开启超级终端。
与虚拟机正确接通之后输入以下命令:mount -o nolock,rsize=4096,wsize=4096 192.168.0.119:/arm2410cl/mnt/nfs //192.168.0.119为虚拟机IPexport QTDIR=$PWDexport LD_LIBRARY_PATH=$PWD/libexport TSLIB_TSDEVICE=/dev/input/event0export TSLIB_PLUGINDIR=$PWD/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_CONFFILE=$PWD/etc/ts.confexport POINTERCAL_FILE=$PWD/etc/ts-calib.confexport QWS_MOUSE_PROTO=tslib:/dev/input/event0export TSLIB_CALIBFILE=$PWD/etc/ts-calib.confexport LANG=zh_CNinsmod /mnt/yaffs/touchscreen/ts-uptech.o4.把fxq文件夹拷贝到目录/home/sprife/qt4/for_arm下进行编译。
基于 ZYNQ 的嵌入式 Linux 系统开发嵌入式课程设计报告
嵌入式系统课程设计报告题目基于ZYNQ的嵌入式Linux系统开发2022年春季学期一、实验目的1、完成BootLoader编译2、完成Linux内核编译3、利用ZYBO实现Linux移植二、环境需求OS:Linux,Ubuntu64位Tools:Vivado2014.2(Windows版)、Vivado2015.4(Linux版)三、实验内容(1)嵌入式Linux移植流程基本的开发步骤:1、更新国内镜像源和安装基本的32位兼容库2、利用交叉编译工具编译BootLoader3、安装u-boot-tools套件并编译Linux内核4、配置设备树并编译设备树文件5、根据zybo board的引脚配置文件生产新的项目6、打开项目并生成Bitstream文件7、生成FSBL文件8、SD卡分区与文件系统移植9、上电测试观察串口信息图1ZYNQ移植Linux基本流程(2)ZYNQ-7000系列的Linux系统开机流程图2ZYNQ-7000运行Linux系统的开机流程图复位后,系统内建的Boot ROM加载第一阶段开机程序(FSBL),接着加载比特流(bitstream)去初始化整个可程序逻辑(Programmable Logic, PL)。
最后U-Boot加载LinuxKernel、DeviceTree以及RootFileSystem启动Linux系统。
四、实验步骤1、Linux下Vivado环境变量设定。
在打开一个新的终端之后,必须将终端的环境变量加上Vivado的文件环境变量或者可以利用终端启动脚本将Vivado环境变量在启动时加入。
source/opt/Xilinx/Vivado/2015.4/settings64.sh2、编译u-boot来作为BootLoader。
(1)设置国内镜像源,用apt包管理工具更新源目录,安装相关的兼容库:(2)打开u-boot-Digilent-Dev。
修改zynq_zybo.h和zynq_common.h(3)配置和利用交叉编译工具编译u-boot(4)将U-boot复制为u-boot.elf文件3、编译Linux内核(1)安装u-boot-tools工具(2)编译linux内核进入Linux-Digilent-Dev文件夹,config为xilinx_zynq_defconfig以及设定UIMAGE_LOADADDR0x8000,并指定架构为ARM架构,利用交叉编译工具编译uImage文件(3)配置设备树DeviceTree将原来的终端设备在设备树文件里替换之后再编译4、用Vivado生成Bitstream文件打开Vivado执行create_project.tcl,使用Vivado打开linux_bd.xpr生成的Block Design点选Program and Debug->Generate Bitstream产生比特流(bitstream)5、建立FSBL(First Stage Boot Loader,FSBL)6、生成BOOT.bin,用Create Image生成BOOT.bin7、利用gparted分区SD卡为fat32和ext4两个分区8、将Boot.bin、devicetree.dtb、uImage三个文件拷贝到SD卡fat32分区9、将SD卡ext4分区挂载在/tmp/linaro文件下,将文件系统用rsync同步从/tmp/linaro到SD卡ext4分区下。
嵌入式linux系统工程师毕业实习报告
嵌入式linux系统工程师毕业实习报告实习报告一、实习概况本次实习是在一家嵌入式系统解决方案提供商实习,实习期为三个月。
实习期间,我主要负责嵌入式Linux系统开发和维护工作。
下面将从实习过程、工作内容和实习效果三个方面进行详细介绍。
二、实习过程1. 初始阶段实习开始时,我首先进行了公司内部的培训课程,主要学习了Linux系统的基本知识、Linux内核的编译和配置,以及Linux系统的调试和性能优化等方面的知识。
2. 实习任务在完成基础培训后,我被分配到了一个嵌入式系统开发项目中。
该项目是一个智能家居控制系统,需要开发一个嵌入式Linux系统来实现各种家居设备的远程控制和管理功能。
我的主要工作任务包括:(1)Linux内核的移植和配置:根据硬件平台的特性,选择合适的Linux内核版本,并进行移植和配置,以保证系统能够正确运行。
(2)设备驱动的开发和调试:根据系统需求,开发和调试各种设备驱动程序,包括网络设备驱动、串口设备驱动等。
(3)系统调试和优化:通过使用调试工具和性能分析工具,对系统进行优化和调试,以提高系统的性能和稳定性。
3. 实习收获在实习过程中,我学到了很多实际工作中的技能和知识。
首先,我熟悉了Linux系统的各种配置和编译方式,对Linux内核的移植和配置有了深入的了解。
其次,我学会了使用各种调试和性能分析工具,能够快速定位和解决系统中的各种问题。
最后,我还学会了如何与团队成员进行有效的合作和沟通,提高工作效率。
三、工作内容1. Linux内核移植和配置在实习期间,我首先完成了Linux内核的移植和配置工作。
由于我们的嵌入式系统硬件平台是新开发的,需要根据硬件平台的特性进行相应的配置。
我根据硬件平台提供的技术文档,选择了合适的Linux内核版本,并对内核进行了相应的配置。
在配置过程中,我遇到了一些问题,比如硬件设备的驱动支持不完全、系统启动时间过长等。
通过与团队成员的讨论和学习,我解决了这些问题,并成功地完成了内核的移植和配置。
嵌入式linux实验报告
嵌入式操作系统Linux实验报告专业:计算机科学与技术班级:13419011学号:1341901124姓名:武易组员:朱清宇实验一Linux下进程的创建一实验目的1.掌握Linux下进程的创建及退出操作2.了解fork、execl、wait、waitpid及之间的关系二实验内容创建进程,利用fork函数创建子进程,使其调用execl函数,退出进程后调用wait 或waitpid清理进程。
三实验过程1.进程的创建许多进程可以并发的运行同一程序,这些进程共享内存中程序正文的单一副本,但每个进程有自己的单独的数据和堆栈区。
一个进程可以在任何时刻可以执行新的程序,并且在它的生命周期中可以运行几个程序;又如,只要用户输入一条命令,shell进程就创建一个新进程。
fork函数用于在进程中创建一个新进程,新进程是子进程。
原型如下:#include<sys/types.h> /* 提供类型pid_t的定义 */#include<unistd.h> /* 提供函数的定义 */pid_t fork(void);使用fork函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间fork系统调用为父子进程返回不同的值,fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:✓在父进程中,fork返回新创建子进程的进程ID;✓在子进程中,fork返回0;✓如果出现错误,fork返回一个负值;用fork创建子进程后执行的是和父进程相同的程序,子进程可以通过调用exec函数以执行另一个程序。
当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程(例如其m a i n函数)开始执行。
调用e x e c并不创建新进程,进程I D并未改变,只是用另一个新程序替换了当前进程的正文、数据、堆和栈段。
e x e c函数原型execl,execlp,execle,execv,execve和execvp2.进程的退出一个进程正常终止有三种方式:由main()函数返回;调用exit()函数;调用_exit()或_Exit()函数。
嵌入式Linux系统开发教程实验报告
嵌入式Linux系统开发教程实验报告嵌入式Linux系统开发教程实验报告组员:武易金鹏飞周长升实验一熟悉嵌入式系统开发环境一实验目的1.熟悉嵌入式系统硬件实验平台2.掌握超级终端配置方法。
3. 掌握嵌入式系统开发环境配置,ARM-Linux下NFS服务器的配置方法4. 掌握常用的Linux下shell命令二实验设备及工具硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G 以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境三实验内容(1)掌握嵌入式系统实验平台上的各类借接口的位置;(2)配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root 和用户程序的介绍;(3)配置linux的终端,配置网络服、Ip地址,开发目录共享,挂载等。
四实验结果实验二嵌入式Linux程序设计一实验目的1.掌握嵌入式Linux软件设计方法原理2.掌握Makefile文件设计方法。
3. 熟悉Linux下静态库和共享库的设计二实验设备及工具硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G 以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境三实验内容(1)编写一个带输入、输出的由5个文件组成的嵌入式软件;(2)写好makefile文件,并上机调试;(3)用变量指明两种编译器。
四实验结果实验三kernel与root的设计和烧写一实验目的1.掌握Linux内核配置与裁剪的方法2.理解根文件系统配置。
3. 掌握嵌入式系统内核和根文件系统的烧写的过程二实验设备及工具硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G 以上、内存大于256M。
嵌入式系统实验报告
嵌入式实验报告熟悉Linux 开发环境1、实验步骤:cd /arm2410s/exp/basic/01_hello 进入目录make clean 清除之前编译生成的文件make编译telnet 192.168.0.115 远程登录到板子mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载cd .. 返回上一级cd nfs/exp/basic/01_hello 进入目录./01_hello 运行2、实验感想:此次实验让我熟悉了Linux开发环境,学会基于S3C2410的Linux 开发环境的配置和使用,了解嵌入式开发的基本过程。
此实验只需要理解各种命令的作用,运用ls来显示当前目录下的所有文件和目录,并且使用TAB键在访问名字很长的文件和目录时非常有效。
本次实验我学习了在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。
能够让下载已经编译好的文件到目标开发板上运行。
二、多线程应用程序设计1、实验步骤:cd /arm2410s/exp/basic/02_pthread 进入目录make clean 清除之前编译生成的文件make编译telnet 192.168.0.115 远程登录到板子mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载cd .. 返回上一级cd nfs/exp/basic/02_pthread 进入目录./02_pthread 运行3、实验感想:通过此次的实验,对于Linux操作系统有了进一步的认识。
通过实验,感到理论课上的不少知识所学甚浅,在实际运用中会遇到一些意想不到的问题。
但是,通过进一步学习与交流,我较好的完成了这次试验。
由于我的水平有限和实验的时间较为紧张,有些细节还是了解的十分不是十分详细,对于较为复杂的编程以及Linux下的很多技巧任然知之甚少,希望能多一些这样的实践性的教学环节,让我们更好的了解书本中知识的应用。
嵌入式linux基本操作实验一的实验报告
实验一 linux 基本操作实验的实验报告一实验目的1、熟悉嵌入式开发平台部件,了解宿主机/目标机开发模式;2、熟悉和掌握常用Linux 的命令和工具。
二实验步骤1、连接主机和目标板;(三根线,网线直接连接实验箱和PC机,实验箱UART2 连接主机的 UART 口)。
2、Linux 命令的熟悉与操作PC 端:在 PC 机的桌面上打开虚拟机,并启动 Linux 系统,打开命令终端,操作Linux 基本命令,如:查看:ls,进入目录:cd,创建文件:mkdir ,删除文件:rmdir ,配置网络: ifconfig ,挂载: mount,设置权限: chmod,编辑器: vi ,拷贝: cp 等命令,要求能熟练操作。
使用方法:1.查看: lsLs 列出文件和目录Ls–a显示隐藏文件Ls–l显示长列格式ls–al其中:蓝:目录 ; 绿:可执行文件 ;红:压缩文件 ;浅蓝:链接文件 ;灰:其他文件 ;红底白字:错误的链接文件2.进入目录: cd改变当前目录: cd 目录名(进入用户 home 目录:cd ~;进入上一级目录: cd -)3.创建文件: mkdir建立文件 /目录: touch 文件名 /mkdir 目录名4.删除文件: rmdir删除空目录: rmdir 目录名5.配置网络: ifconfig网络 - (以太网和 WIFI 无线)ifconfig eth0 显示一个以太网卡的配置6.挂载: mountmount /dev/hda2 /mnt/hda2 挂载一个叫做 hda2 的盘 - 确定目录'/ mnt/hda2'已经存在umount /dev/hda2 卸载一个叫做 hda2 的盘 - 先从挂载点 '/ mnt/hda2' 退出fuser -km /mnt/hda2 当设备繁忙时强制卸载umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件 - 当文件为只读或当磁盘写满时非常有用mount /dev/fd0 /mnt/floppy 挂载一个软盘mount /dev/cdrom /mnt/cdrom 挂载一个 cdrom 或 dvdrommount /dev/hdc /mnt/cdrecorder挂载一个 cdrw 或 dvdrommount /dev/hdb /mnt/cdrecorder挂载一个 cdrw 或 dvdrommount -o loop file.iso /mnt/cdrom 挂载一个文件或 ISO 镜像文件mount -t vfat /dev/hda5 /mnt/hda5 挂载一个 Windows FAT32 文件系统mount /dev/sda1 /mnt/usbdisk挂载一个 usb 捷盘或闪存设备mount -t smbfs -o username=user,password=pass//WinClient/share /mnt/share 挂载一个 windows 网络共享7.设置权限: chmod文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消 ls -lh显示权限ls /tmp | pr -T5 -W$COLUMNS将终端划分成5栏显示chmodugo+rwx directory1 设置目录的所有人 (u)、群组 (g)以及其他人 (o)以读( r )、写 (w) 和执行 (x) 的权限chmod go-rwx directory1 删除群组 (g)与其他人 (o) 对目录的读写执行权限chown user1 file1 改变一个文件的所有人属性chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性chgrp group1 file1 改变文件的群组chown user1:group1 file1 改变一个文件的所有人和群组属性find / -perm -u+s 罗列一个系统中所有使用了chmodu+s /bin/file1设置一个二进制文件的SUIDSUID控制的文件位 - 运行该文件的用户也被赋予和所有者同样的权限chmod u-s /bin/file1 禁用一个二进制文件的SUID 位chmodg+s /home/public 设置一个目录的 SGID 位 - 类似 SUID ,不过这是针对目录的chmod g-s /home/public 禁用一个目录的chmodo+t /home/public 设置一个文件的SGIDSTIKY位位 - 只允许合法所有人删除文件chmod o-t /home/public 禁用一个目录的STIKY位8.编辑器: vivi 开发步骤:a)vi hell.sql( 文件名 )b)按i[ 进入插入模式]c)按 escd)输入 qw[ 进入命令模式[ 表示退出保存 ]]e)输入f)输入q! [表示退出不保存ls/ls–l[ 查看 ]]g)gcc-o my1 hello.sql [-o my1代表输出按my1名]w 表示与入的意思 ,也就将目前的文件内容加以保存 , q表示退出的意思 ,也是 vi 的执行q!强制离开 ,并且不保存文件wq 将修改过得内容保存 ,并离开 viset nu 在文件中每行加入行号ser noun 取消行号输入数字若输入数字再按ESC 建就可将光标移至改行/字符串在很长的文件在可以利用” /字符串”的命令来查找特定字例如“ tcp”如果不是所需要的可以按 N 继续往下查找?字符串可以利用” ?字符串”的命令查找特定字例如” :/tcp”如果不是所需要的可以按N 继续往下查找9.拷贝: cp 等命令cp–r dir1 dir2 递归复制命令 (复制子目录信息 )具体操作:打开虚拟机,随意选择一个 linux 版本,打开命令终端。
嵌入式Linux系统开发教程实验报告
嵌入式实验报告姓名:学号:学院:日期:实验一熟悉嵌入式系统开发环境一、实验目的熟悉 Linux 开发环境,学会基于S3C2410 的Linux 开发环境的配置和使用。
使用Linux的armv4l-unknown-linux-gcc 编译,使用基于NFS 方式的下载调试,了解嵌入式开发的基本过程。
二、实验内容本次实验使用 Redhat Linux 9.0 操作系统环境,安装ARM-Linux 的开发库及编译器。
创建一个新目录,并在其中编写hello.c 和Makefile 文件。
学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。
下载已经编译好的文件到目标开发板上运行。
三、实验设备及工具硬件::UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。
软件:PC 机操作系统REDHAT LINUX 9.0+超级终端(或X-shell)+AMR-LINUX 开发环境。
四、实验步骤1、建立工作目录[root@localhost root]# mkdir hello[root@localhost root]# cd hello2、编写程序源代码我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi 命令来编辑代码:[root@localhost hello]# vi hello.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq!”保存并退出。
这样我们便在当前目录下建立了一个名为hello.c的文件。
hello.c源程序:#include <stdio.h>int main() {char name[20];scanf(“%s”,name);printf(“hello %s”,name);return 0;}3、编写Makefile要使上面的hello.c程序能够运行,我们必须要编写一个Makefile文件,Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。
嵌入式系统实验报告
HUNAN CITY UNIVERSITY嵌入式系统实验报告实验题目:Linux交叉开发流程专业:计算机科学与技术(嵌入式方向)学生姓名:班级学号:分组成员:指导教师:2012 年 9月 25日一、实验时间二、实验地点三、实验目的1、熟悉并掌握linux系统下linux开发交叉流程;2、提高分析问题并独立解决问题的能力。
四、实验步骤1、Linux宿主机的环境的建立安装(1)、安装L inux嵌入式系统开发通常要求宿主机配置有网络,支持NFS(为Linux应用开发时使用)、支持TFTP(为内核下载和烧写使用),然后要在宿主机上建立交叉编译调试环境,因此在宿主机上安装Redhat9.0必须具备以上条件。
安装Redhat9.0,安装时请选择完全安装,在配置Firewall 时请选择No Firewall,在选择软件Package时选择最后一项:everything,即完全安装。
(2)、交叉编译调试环境的建立用U盘将cross-2.95.3.tar.gz挂载到linux系统下并解压安装在/usr/local/arm目录下。
cd /usr/localmkdir armcd armtar zxvf cross-2.95.3.tar.gz解压后将在/usr/local/arm目录下面生成一个名为2.95.3的目录,所包含的ARM Linux 交叉编译器为 2.95.3/bin目录下的arm-linux-gcc。
因此,需要在PATH环境变量中加上/usr/local/arm/2.95.3/bin一项,使得arm-linux-gcc能够在命令行下直接执行。
修改环境变量的方法:编辑命令PATH=$PATH:/usr/local/bin即可,此修改环境变量法,在关闭终端时立即失效,下次登录时重新编辑命令,使其生效。
(3)、配置以太网前提是以太网卡已配置正确,然后配置宿主机IP。
执行ifgonfig eth0 192.168.1.180命令,设置宿主机IP地址为192.168.1.180。
嵌入式linux实验报告
嵌入式linux实验报告嵌入式Linux实验报告摘要:本实验报告介绍了嵌入式Linux系统的搭建和应用。
通过实验,我们深入了解了嵌入式系统的特点和原理,并学习了如何搭建一个基本的嵌入式Linux 系统。
同时,我们还探讨了嵌入式Linux系统的应用领域和未来发展方向。
1. 引言嵌入式系统是一种专门设计用于特定应用的计算机系统,它通常被嵌入到各种设备中,如手机、家用电器、汽车等。
嵌入式Linux系统是一种基于Linux内核的嵌入式系统,它具有开放源代码、稳定可靠、灵活性高等特点,因此在各种嵌入式设备中得到了广泛的应用。
2. 实验目的本实验旨在通过搭建嵌入式Linux系统,深入了解嵌入式系统的原理和特点,为今后的嵌入式系统开发和应用打下基础。
3. 实验内容本次实验主要包括以下内容:- 嵌入式Linux系统的搭建- 嵌入式Linux系统的调试和优化- 嵌入式Linux系统的应用案例分析4. 实验步骤(1)搭建嵌入式Linux系统首先,我们选择了一款适合嵌入式系统的Linux发行版,并在PC机上进行交叉编译,生成适用于嵌入式设备的Linux内核和文件系统。
然后,将生成的内核和文件系统烧录到目标设备中,完成嵌入式Linux系统的搭建。
(2)调试和优化在搭建完成后,我们对嵌入式Linux系统进行了调试和优化。
通过调试工具和性能分析工具,我们找到了系统中存在的问题,并进行了相应的优化和改进,以提高系统的稳定性和性能。
(3)应用案例分析最后,我们对嵌入式Linux系统在实际应用中的案例进行了分析。
我们选择了一些典型的嵌入式设备,如智能家居设备、工业控制设备等,探讨了嵌入式Linux系统在这些设备中的应用和发展前景。
5. 实验结果通过本次实验,我们成功搭建了一个基本的嵌入式Linux系统,并对其进行了调试和优化。
同时,我们也对嵌入式Linux系统在实际应用中的案例进行了深入分析,为今后的嵌入式系统开发和应用提供了有益的参考。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式实验报告:学号:学院:日期:实验一熟悉嵌入式系统开发环境一、实验目的熟悉Linux 开发环境,学会基于S3C2410 的Linux 开发环境的配置和使用。
使用Linux的armv4l-unknown-linux-gcc 编译,使用基于NFS 方式的下载调试,了解嵌入式开发的基本过程。
二、实验容本次实验使用Redhat Linux 9.0 操作系统环境,安装ARM-Linux 的开发库及编译器。
创建一个新目录,并在其中编写hello.c 和Makefile 文件。
学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。
下载已经编译好的文件到目标开发板上运行。
三、实验设备及工具硬件::UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。
软件:PC 机操作系统REDHAT LINUX 9.0+超级终端(或X-shell)+AMR-LINUX 开发环境。
四、实验步骤1、建立工作目录[rootlocalhost root]# mkdir hello[rootlocalhost root]# cd hello2、编写程序源代码我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:[rootlocalhost hello]# vi hello.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq!”保存并退出。
这样我们便在当前目录下建立了一个名为hello.c的文件。
hello.c源程序:#include <stdio.h>int main() {char name[20];scanf(“%s”,name);printf(“hello %s”,name);return 0;}3、编写Makefile要使上面的hello.c程序能够运行,我们必须要编写一个Makefile文件,Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。
使用它带来的好处就是自动编译,你只需要敲一个“make”命令整个工程就可以实现自动编译。
Makefile源程序:CC= armv4l-unknown-linux-gccEXEC = helloOBJS = hello.oCFLAGS +=LDFLAGS+= –staticall: $(EXEC)$(EXEC): $(OBJS)$(CC) $(LDFLAGS) -o $ $(OBJS)clean:-rm -f $(EXEC) *.elf *.gdb *.o下面我们来简单介绍这个Makefile 文件的几个主要部分:CC 指明编译器EXEC 表示编译后生成的执行文件名称OBJS 目标文件列表CFLAGS 编译参数LDFLAGS 连接参数all: 编译主入口clean:清除编译结果注意:“$(CC) $(LDFLAGS) -o $ $(OBJS)”和“-rm -f $(EXEC) *.elf *.gdb *.o”前空白由一个Tab 制表符生成,不能单纯由空格来代替。
与上面编写hello.c的过程类似,用vi来创建一个Makefile文件并将代码录入其中。
[rootlocalhost hello]# vi Makefile4、编译应用程序在上面的步骤完成后,我们就可以在hello 目录下运行“make”来编译我们的程序了。
如果进行了修改,重新编译则运行:[rootlocalhost hello]# make clean//编译应用程序[rootlocalhost hello]# make//下载调试注意:编译、修改程序都是在宿主机(本地PC 机)上进行,不能在超级终端下进行。
5、下载调试在宿主PC计算机上启动NFS服务,并设置好共享的目录,(这里将刚生成的根目录/arm2410cl作为共享目录,以下实验同理)具体配置请参照前面第一章第四节中关于嵌入式Linux 环境开发环境的建立。
在建立好NFS共享目录以后,我们就可以进入超级终端中建立开发板与宿主PC机之间的通讯了。
[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.56:/arm2410cl /host //超级终端中执行如果不想使用我们提供的源码的话,可以再建立一个NFS 共享文件夹。
如/root/share,我们把我们自己编译生成的可执行文件复制到该文件夹下,并通过超级终端挂载到开发板上。
[rootlocalhost hello]# cp hello /root/share //虚拟机中[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.56:/root/share /host //超级终端中再进入/host目录运行刚刚编译好的hello程序,查看运行结果。
[/mnt/yaffs] cd /host //超级终端中[/host] ./hellohello world(1)在PC计算机上启动NFS 服务,并设置好共享的目录。
启动Red Hat Linux –>点击“主菜单”->选择“系统设置”->“服务器设置”->“NFS服务器”->“增加”->“基本”下:点击“浏览”选择“/”下的“arm2410cl/”;“确定”;“主机:192.168.0.* ”;“基本权限”选择“读/写”;“确定”。
->“常规选项”下:选择:“允许来自高于1024的端口的连接”,其他不选;确定。
(2)在建立好NFS共享目录以后,进入minicom 中建立开发板与宿主PC机之间的通讯新建终端[rootlocalhost root]# minicom//服务器新建终端[rootlocalhost root]#ifconfig eth0 192.168.0.10 //设置主机地址[rootlocalhost root]#ifconfig //查看地址在服务器下:[/mnt/yaffs] mount -t nfs –o nolock 192.168.0.56:/arm2410cl /var注意:开发板挂接宿主计算机目录只需要挂接一次便可,只要开发板没有重起,就可以一直保持连接。
这样可以反复修改、编译、调试,不需要下载到开发板。
6、实验截图7、测试结果测试挂载成功,用mplayer xyz.avi命令播放视频[rootlocalhost /]#cd /mnt/yaffs/mm[rootlocalhost /]#mplayer xyz.avi五、实验心得本次实验比较简单,旨在让我们熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。
实验中我们创建了一个新目录,并在其中编写hello.c和Makefile文件。
我们学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置,下载已经编译好的文件到目标开发板上运行。
学会使用Linux的armv4l-unknown-linux-gcc编译和基于NFS方式的下载调试,了解嵌入式开发的基本过程。
实验二S3C2410处理器A/D模块硬件设计一、实验目的1.熟悉硬件电路设计2.掌握简单的S3c2410处理器的电路设计。
3. 掌握protel软件的使用。
二、实验容使用protel 99se 做s3c2410处理器最小系统电路设计,A/D数据采集模块电路设计。
三、实验设备及工具硬件:UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G以上。
软件:PC 机操作系统REDHAT LINUX 9.0、超级终端(或X-shell)、ARM-LINUX 开发环境五、实验原理1、A/D 转换器A/D 转换器是模拟信号源和CPU 之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其他领域中,A/D 转换是不可缺少的。
A/D 转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。
常用的有以下两种:(1)双积分型的A/D 转换器;(2)逐次逼近型的A/D 转换器。
2、A/D 转换的重要指标(1)分辨率(Resolution)(2)精度(Accuracy)(3)ARM 自带的十位A/D 转换器(4)A/D 转换器在扩展板的连接(A/D 转换器在扩展板的接法如图2.4.2 所示,前三路通过电位器接到3.3v 电源上。
)图 2.4.2 A/D 转换器在扩展板上的接法六、实验步骤1、阅读理解源码进入/arm2410cl/exp/basic/04_ad 目录,使用vi 编辑器或其他编辑器阅读理解源代码。
2、编译应用程序运行make产生ad可执行文件[rootlocalhost /]# cd /arm2410cl/exp/basic/04_ad/[rootlocalhost 04_ad]# makearmv4l-unknown-linux-gcc -c -o main.o main.carmv4l-unknown-linux-gcc -o ../bin/ad main.o -lpthreadarmv4l-unknown-linux-gcc -o ad main.o -lpthread[rootlocalhost 04_ad]# lsad hardware.h main.o Makefile.bak s3c2410-adc.hbin main.c Makefile readme.txt src3、下载调试到超级终端窗口,使用NFS mount 开发主机的/arm2410cl 到/host 目录。
[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.56:/arm2410cl /host[/mnt/yaffs]insmod ad/s3c2410-adc.o[/mnt/yaffs]cd /host/exp/basic/04_ad[/host/exp/basic/04_ad]./adPress Enter key exit!a0= 0.0032 a1= 3.2968 a2= 3.2968我们可以通过调节开发板上的三个黄色的电位器,来查看a0、a1、a2 的变化。
4、原理图5、实验截图七、实验心得通过本次试验,我学会了A/D接口原理,了解实现A/D系统对于硬件要求。