ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:3.67MB ,
资源ID:5026821      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5026821.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(linux嵌入式实验指导书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

linux嵌入式实验指导书.docx

1、linux嵌入式实验指导书嵌入式系统设计实验指导书 作者:张俊文 2014-3-10实验一、嵌入式 Linux开发环境的建立试验目的1、掌握如何在 WINDOWS下安装虚拟机, 2、在虚拟机中安装 LINXUX操作系统;3、熟悉linux基本行命令 预备知识绝大多数Linux 软件开发都是以native 方式进行的,即本机(HOST)开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即板子上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台PC 机)上,对应

2、的开发板叫做目标板。 运行Linux 的 PC【宿主机】开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码(这种可执行代码并不能在宿主机上执行,而只能在目标板上执行),然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等,具体使用哪种调试方法可以根据目标机处理器提供的支持作出选择。宿主机和目标板的处理器一般不相同,宿主机为Intel 处理器,而目标板如 UP-NetARM2410-S开发板为三星S3c2410.GNU 编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主机和目标实验步骤:一 预备知识Mware虚拟机安装Linux系统VMware软

3、件安装使用VMware虚拟机可以在Windows系统下面再安装其他的操作系统,而不会对原有的操作系统造成任何影响。本小节将讲述在Windows XP上安装VMware虚拟软件。安装好VMvare软件以后,可以使用VMware建立一个虚拟计算机。在建立虚拟机时,需要注意虚拟硬件的设置。下面的步骤可以建立一个虚拟机新建了虚拟机以后,需要注意VMware使用方法。本小节将介绍VMware中常用工具的使用方法。常用工具提供了虚拟机的管理功能。启动虚拟机系统以后,在虚拟机中的操作与本地计算机的操作是相似的。在VMware安装Linux系统时,对硬盘的分区、格式化操作,都是在虚拟硬盘上进行的。对硬盘上的数

4、据没有任何影响。在学习Linux安装时,可以使用VMware虚拟机进行练习。本小节将在VMware虚拟机上安装Red Hat Linux 9.0系统。完成光盘完整性检查以后,Red Hat Linux 9.0的图形安装界面如图 选择软件包组完成安装 是Red Hat Linux 9.0的用户桌面 3、熟悉linux 基本行命令常用LINUX 命令的使用以下均以REDHAT LINUX 为例说明。一、基本命令ls:显示当前目录下的所有文件和目录。ls -a:可以看到隐藏的文件,如以.开头的文件。pwd:显示当前目录路径。ps:列举当前TTY 下所有进程ps -A:列举所有cd 目录名:进入目录m

5、kdir 目录名:创建目录rmdir 目录名:删除空目录rm -rf 目录名:强行删除整个目录内容(无法恢复),其中f 表示强制不进行提示,r 表示目录递归。注:LINUX 下的文件和目录是区分大小写的。二、TAB 文件目录匹配搜索的使用例如/usr/arm2410s,假设/目录下没有其它以arm 字符开头的其它目录和文件,则要进入这个目录,只需敲入:cd /usr/arm然后按下TAB 键,则SHELL 会自动匹配找到/usr/arm2410s 目录,这样就不必完全键入剩余的2410s 字符,这个功能在访问名字很长的文件和目录时非常有效,可以大大提供键盘输入的速度,极为方便。三、编程时获取帮

6、助manman,即manunal,是UNIX 系统手册的电子版本。根据习惯,UNIX 系统手册通常分为不同的部分(或小节,即section),每个小节阐述不同的系统内容。目前的小节划分如下:命令:普通用户命令系统调用:内核接口函数库调用:普通函数库中的函数特殊文件:/dev 目录中的特殊文件文件格式和约定:/etc/passwd 等文件的格式游戏。杂项和约定:标准文件系统布局、手册页结构等杂项内容系统管理命令。内核例程:非标准的手册小节。手册页一般保存在/usr/man 目录下,其中每个子目录(如man1,man2, ., manl, mann)包含不同的手册小节。使用man 命令查看手册页。

7、man 命令行例子:man rpm四、压缩/解压缩LINUX 的软件一般是以.gz 或.tar 或者.tar.gz 结尾的。前者是由gzip 压缩的,后者是先用tar 归档,在用gzip 压缩而成的。1、以.gz 结尾的为压缩文件,用命令:gzip -d filename 来解压,得到的文件在当前目录中,但已没有了.gz。2、以.tar 结尾的为归档文件,用命令:tar -xvf filename 来展开,生成的文件与源文件在同一目录中,只是少了.tar。3、以.tar.gz 结尾的文件最常见,可直接用命令:gzip -cd filename| tar xfv 来解开。tar 的用法:解压:x

8、 参数表示解压tar xzf linux-2.4.x.tgz把一个目录linux-2.4.x 压缩成一个文件:linux-2.4.x.tgztar czf linux-2.4.x.tgz linux-2.4.xc 参数表示压缩。解压缩bz2 格式压缩包tar -xjf linux.bz2建立bz2 格式压缩包tar -cjf linux-2.4.x.tar.bz2 /develop/linux-2.4.x软、硬盘及光驱的使用在Linux 中对其他硬盘逻辑分区、软盘,光盘的使用与我们通常在DOS与Windows 中的使用方法是不一样的,不能直接访问,因为在Linux 中它们都被视为文件,因此在访

9、问使用前必须使用装载命令mount 将它们装载到系统的/mnt 目录中来,使用结束,必须进行卸载。命令格式如下:mount t 文件系统类型设备名装载目录设备名是指要装载的设备的名称,如软盘、硬盘、光盘等,软盘一般为/dev/fd0 fd1,硬盘一般为/dev/hda hdb ,硬盘逻辑分区一般为期hda1 hda2 等等,光盘一般为/dev/hdc。在装载前一般要在/dev/mnt 目录下建立一个空的目录,如软盘为floppy,硬盘分区为其盘符如c、d 等等,光盘为cd-rom,使用命令:mount t msdos /dev/fd0 /mnt/floppy装载一个mddos 格式的软盘mou

10、nt t ext2 /dev/fd0 /mnt/floppy装载一个Linux 格式的软盘mount t vfat /dev/hda1 /mnt/c装载Windows98 格式的硬盘分区mount t iso9660 /dev/hdc /mnt/cd-rom装载一个光盘装载完成之后便可对该目录进行操作,在使用新的软盘及光盘前必须退出该目录,使用卸载命令进行卸载,方可使用新的软盘及光盘,否则系统不会承认该软盘的,光盘在卸载前是不能用光驱面板前的弹出键退出的。实验二、LinuxC程序设计实验目的1、Vi编辑器的使用2、gcc编译器的使用,编译Linux C程序实验内容一:设计一个程序,要求在屏幕上

11、输出“这是第一个Linux c程序!”。 操作步骤:步骤 1:设计编辑源程序代码 此程序中主函数体内只有一个输出语句,printf是c语言中的输出函数。双引号内的字条串原样输出。“n”是换行符。即在输出“这是第一个Linux c程序!”后回车换行。语句最后用分号结束。编辑程序只需要用文本编辑器,Linux下最常用的文本编辑器是vim,编辑程序在终端中输出如下。rootlocalhost root#vim test .c 接着依次按ESC键i键输入文字内容,输入程序代码如下:/*1-1.c程序:在屏幕上输出“这是第一个Linux c程序!”*/ #include /*文件预处理,包含标准输入输出

12、库*/int main () /*C程序的主函数,开始入口*/ printf(this is my first linux c program!n); /*在屏幕上打印输出*/其中/*、*/之间的内容为注释,凡是介于/*和*/之间的文字,c的编译程序均会忽略,不予编译。设计程序时,最好养成写注释的习惯,便于他人或自己以后阅读。其中“#include”指定程序中用到的系统函数包含的库文件,“stdio.h”是标准输入输出库。Main表示“主函数”,每人个c程序都必须有一个main函数,函数主体用大括弧括起来,语句都用分号“;”结束。输入完Linux c程序后的界面如图1.1所示。图1.1 输入完

13、Linux c程序后的界面特别提示:输入完成后存盘:按ESC键输入“:wq”回车,输入后如果不想存盘:按ESC键输入“:q!”回车。注意:若读者的终端不能正常输入或显示中文,而要在vim中编辑和正确显示中文,请先设置一下终端的字体,点击终端的菜单“编辑”“当前配置文件(U)”,打开“编辑配置文件”对话框,勾选“与其他应用程序使用相同的字体大小”即可。如果显示中文还有问题,点击对话框“常规”选项卡中的字体处的按钮,弹出“选择终端字体”对话框,选择“AR PL KaitiM GB”字体,设置好字体后,点击“确定”就可以在vim中正常显示和输入简体中文了。步骤 2:编译程序 编译程序前,最好请确认c

14、源程序文件的存在,打开Linux终端输入“ls”命令,查看当前目录下是否有test.c文件,界面如图1.2所示。图1.2 查看当前目录下的文件 接着输入如下命令,将1-1.c程序编译成可执行文件。rootlocalhost root#gcc 1-1.c 若编译时没有出现错误信息,说明程序编译成功,界面如图1.3所示。图1.3 用gcc编译程序步骤 3:运行程序 编译好1-1.c程序后,默认生成的可执行文件是a.out,可以看到当前目录下就新生成了a.out,若要执行这个可执行文件,输入如下:rootlocalhost root#./a.out 此时系统会出现运行结果,输出“这是第一个Linux

15、 c程序!”,终端中的显示如图1.4所示。图1.4 运行程序由第一个简单的Linux c程序可知,在Linux环境下的c程序设计,主要用到的工具是文本编辑器和编译器软件。Linux下的文本编辑器软件主要有vim、gedit和Emacs,Linux下的c编译器中,gcc是功能最强大、使用最广泛的软件。二、GDB调试例程用gcc 编译它:gcc o greet greeting.c程序显示示结果如下:从结果可以看出。输出的第一行是正确的, 但第二行打印出的东西并不是我们所期望的, 我们期望的结果是:the string printed backward is ereht olleh毫无疑问, my

16、_print2函数没有正常工作。 现在, 让我们用gdb看看问题究竟出在哪能,先输入如下命令:再输入gdb greeting如果输入命令时忘记了把要调试的程序作为参数传给gdb, 可以在gdb提示符下用file 命令加载它:(gdb)file greeting现在我们可以用gdb的run命令来运行greeting, 当它运行在gdb中时, 结果大约会像这样:(gdb ) run这时输出的结果与外面运行的结果一样, 可是, 为什么没有反序打印呢?为找出问题所在, 我们可以在my_pring2函数的for语句后没一个断点。 具体的做法是在gdb提示符下执行三次list命令, 列出源程序(gdb)l

17、ist(gdb)list(gdb)list第一次执行list命令的输出如下所示第二次第三次根据列出的源程序, 可设断点在21行, 在gdb命令行提示符下输入如下命令。设置断点:(gdb)break 21Gdb会做出如下响应:再执行run 将产生如下结果可以通过设置一个观察string2size -i变量值的观察点来找出错误的产生原因, 做法是键入如下语句:watch string2size -iGdb将做出如下反映现在可以用netx 命令一步步的执行循环语句:(gdb) next经过第一次循环后, gdb 告诉我们string2size -i的值是h gdb显示的信息如下:这个值是正确的, 后

18、来的数次循环的结果也都是正确的, 当i=10时, 表达式等于eSize i的值等于1, 最后一个字符已经拷贝到新字符串去了,如果再执行下去, 会看到已经没有值分配给string20了, 而它是新字符串的第一个字符, 因为malloc函数在分配内存时把它们初始化为空字符。 这就是为什么string2没有任何输出的原因。找出问题所在, 修正这个错误也就会变得更容易, 可以在代码里写入string2的第一个字符的偏移量为size -1而不是size, 这是因为string2 的大小为12,但起始偏移量为0,串内的字符从偏移量10, 偏移量11为空字符保留。实验三、熟悉 Linux交叉开发环境配置和使

19、用试验目的:1挂载光盘文件2 linux网络配置3 linux 串口配置预备知识对于嵌入式LINUX,宿主机上的操作系统一般要求为 REDHAT LINUX。嵌入式开发通常要求宿主机配置有网络,支持NFS(为交叉开发时mount 所用)。然后要在宿主机上建立交叉编译调试的开发环境。环境的建立需要许多的软件模块协同工作,这将是一个比较繁杂的工作,但现在已通过博创嵌入式教学套件中光盘的安装而自动完成了。 开发工具软件的安装与配置 实验步骤:1.开发工具软件的安装将博创兴业科技有限公司提供的附带开发工具光盘插入CDROM,然后执行以下命令: mount /dev/cdrom /mnt 若系统不识别/

20、dev/cdrom 的话,可以用如下命令,假设CDROM为从盘,即为/dev/hdb,则: mount t iso9660 /dev/hdb /mnt 安装脚本程序将自动建立/arm2410s目录,并将所有开发软件包安装到/arm2410s目录下,同时自动配置编译环境,建立合适的符号连接。 2.开发环境配置配置网络,包括配置 IP地址、NFS服务、防火墙。网络配置主要是要安装好以太网卡,对于一般常见的RTL8139 网卡,REDHAT9.0 可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后配置宿主机 IP为192.168.0.121。如果是在有多台计算机使用的局域网环境使用

21、此开发设备,IP地址可以根据具体情况设置。如图 1.4.1所示:图 1.4.1 网络配置双击设备 eth0的蓝色区域,进入以太网设置界面,如图1.4.2,1.4.3所示:图 1.4.2 以太网常规设置界面图 1.4.3 以太网路由设置界面对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP 访问它全部拒绝,这样其它网络设备根本无法访问它,即无法用 NFS mount 它,许多网络功能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如下:点击红帽子开始菜单,选择安全级别设置,选中无防火墙。如图 1.4.4所示: 图 1.4.4 安全级别设置在系统设置菜单中选择服务器设置菜单

22、,再选中服务菜单,将 iptables服务的勾去掉,并确保 nfs选项选中。 配置 NFS: 点击主菜单运行系统设置-服务器设置-NFS服务器(英文为:SETUP-SYSTEM SERVICE-NFS),点击增加出现如下在界面,在目录(Drictory):中填入需要共享的路径,在主机(Hosts):中填入允许进行连接的主机 IP地址。并选择允许客户对共享目录的操作为只读(Readonly)或读写(Read/write)。如图 1.4.5所示:图 1.4.5 NFS基本设置图 1.4.6是对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。 图 1.4.6 NFS用户访问设置当将远程根用

23、户当作本地根用户时, 对于操作比较方便,但是安全性较差。最后退出时则完成 NFS 配置。配置好后,界面应显示如图 1.4.7所示: 图 1.4.7 远程根用户当作本地根用户图 1.4.8配置好的 NFS我们也可以手工编写/etc/exports文件,其格式如下: 共享目录 可以连接的主机(读写权限,其他参数) 例如: 表示将本机的/arm2410s目录共享给 ip地址为192.168.0.1192.168.0.254的所有计算机,可以读取和写入。 配置完成后,可用如下办法简单测试一下NFS 是否配置好了:在宿主机上自己mount 自己,看是否成功就可以判断NFS 是否配好了。例如在宿主机/目录

24、下执行: 其中 192.168.0.10应为主机的 IP地址。 然后到/mnt/目录下看是否可以列出/arm2410s目录下的所有文件和目录,可以则说明mount 成功,NFS 配置成功。 3.配置 MINICOM: 1 .在 linux操作系统 Xwindow界面下建立终端(在桌面上点击右键 新建终端),在终端的命令行提示符后输入 minicom,回车,你就会看到 minicom的启动画面(见图1.4.9)若没有启动 Xwindow则在命令行提示符后直接输入 minicom即可。图 1.4.9 minicom启动画面2 .minicom启动后,先按 CtrlA键,再按 Z键(注意不是连续按,

25、 Ctrl+A松开后才按 Z),进入主配置界面(见图 1.4.10)。图 1.4.10主配置界面按“O”进入配置界面,如图 1.4.11配置界面图 1.4.11配置界面按上下键选择Serial port setup,进入端口设置界面,这里有几个重要选项改为如下值(见图1.4.12):(在Change which setting 后按哪个字母就进入哪项的配置,如按A 进行端口号配置。)ASerial Device :/dev/ttyS0 (端口号使用串口1)EBPS/par/bits :/115200 8N1 (波特率)F,E 硬件流,软件流都改为NO,若要使用PC 机的串口2 来接板子的串口1

26、 做监控,改为:/dev/ttyS1 即可。3.选好后按ESC 键退出到图1.4.11 所示画面,选择Save setup as df1 保存退出,以后只要启动minicom 就是该配置,无需再做改动。4.配置完成后,用串口线连接好pc 机和2410S,启动2410S,即可在minicom 上看到启动信息,并可以执行操作控制。图1.4.12 端口设置界面Linux 开发软件的安装目录结构表格1.4.1 均以/arm2410s 目录为起点:编译器安装路径说明如表1.4.2 所示:上述诸多程序的源代码都在光盘中提供.在安装完成LINUX 后,就是对LINUX 的网络环境的配置,最主要是配置NFS

27、服务器。如果我们仔细看的话,就会发现在VMware软件界面的左下角处显示着“you dont have VMwareTools installed”,即我们还没安装VMwareTools。VMware Tools有什么用呢?VMware Tools其实就是虚拟的显卡的驱动程序,安装以后,虚拟系统屏幕的显示效果会更好,除此之外,我在网上还发现有人说,安装以后,鼠标就可以在主、客系统之间自如地移动,而不需ctrl+alt组合键来切换(这确实有点麻烦)。当然咯,肯定还有别的用途,小莫才疏学浅哪!接下来就简单介绍一下怎么安装VMware Tools。1、 鼠标右击VMware界面左侧中的虚拟系统,选择

28、“Install VMware Tools”注意:虚拟机必须处在开机状态,关机时无效。如下图:此时会发现在Linux的桌面上出现一个光盘的图标,这只是系统将VMware Tools的安装镜像文件加载到了虚拟光驱中,而并不是真正地安装了VMware Tools。如下图:2、找到VMware Tools安装包键点击Linux桌面,打开终端,依次输入以下命令(注意有空格):cd /mnt/cdrom(注:进入到虚拟光驱的文件夹里)ls(注:查看文件夹里的文件和子文件夹)这个时候出现的“VMware Tools-5.5.3-34685.tar.gz”即安装包名字,记住它,稍后将会用到。如下图: 2、

29、移动安装包,然后解压安装在刚刚的终端中,继续输入一下命令:cd /(注:回到根目录)cp/mnt/cdrom/VMwareTools-5.5.3-34685.tar.gz /tmp(注:将安装包复制到tmp文件夹)cd /tmp(注:进入tmp文件夹里)tar zxfVMwareTools-5.5.3-34685.tar.gz(注:解压安装包)cd vmware-tools-distrib(注:进入解压出来的文件夹里)./vmware-install.pl(注:执行安装文件)如下图:如果你的Linux中已经安装了所有的X窗口环境和开发工具,上述的安装过程应该比较顺利,在安装过程中,会遇到诸如“

30、In which directory do you want to install your binary files”这类的问题,直接按回车就行了;如遇到诸如带有yes的询问时,输入yes后按回车即可。如下图:安装完成以后,还会让我们配置分辨率: Do you want to change yourguest X resolution?1640x4802800x60031024x768. .我的机器能支持1280x1024,选择的是7,自己根据自己机器的情况来决定。设置分辨率,能使得屏幕在全屏显示下更清晰漂亮注意,这的分辨率适用于全屏显示,很多人可能习惯用窗口模式来操作虚拟系统(比如我),那么就应该把分辨率设置得小些,比如800x600。至此,VMware Tools就安装成功了,需要重启一下虚拟机,使配置生效。实验四Makefile文件的编写实验目的1、正确理解Makefile文件2、学会使用Vi编写Makefile文件实验内容本次实验使用 Redhat Linux 9.0操作系统环境,安装 ARM-Linux的开发库及编译器。创建一个新目录,并在其中编写 hello.c和 Makefile文件。学习在Linux下的编

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1