嵌入式系统实验指导书.docx
- 文档编号:4461312
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:56
- 大小:2.02MB
嵌入式系统实验指导书.docx
《嵌入式系统实验指导书.docx》由会员分享,可在线阅读,更多相关《嵌入式系统实验指导书.docx(56页珍藏版)》请在冰豆网上搜索。
嵌入式系统实验指导书
嵌入式系统实验指导书
韩桂明赵志鹏张锟
目录
实验一:
vmware虚拟机安装与使用4
一:
实验目的4
二、实验内容及步骤4
三、实验仪器和设备17
四、实验报告要求17
实验二:
Linux操作系统的配置与安装18
一:
实验目的18
二、实验内容及步骤18
三、实验仪器和设备28
四、实验报告要求28
实验三:
Linux常用操作指令29
一:
实验目的29
二、实验内容29
三、实验仪器和设备31
四、实验报告要求31
实验四:
Linux下编辑器的使用32
一:
实验目的32
二、实验内容及步骤32
三、实验仪器和设备34
四、实验报告要求34
实验五:
Linux下C语言编程—实现阶乘运算与素数求解35
一:
实验目的35
二、实验内容及步骤35
三、实验仪器和设备35
四、实验报告要求35
补充:
36
实验六:
GUNmake管理项目与GDB程序调试41
一:
实验目的41
二、实验内容及步骤41
三、实验仪器和设备45
四、实验报告要求45
实验七:
Linuxshell编程46
一:
实验目的46
二、实验内容及步骤46
三、实验仪器和设备46
四、实验报告要求46
实验八:
ARM+linux的嵌入式开发工具链的建立47
一:
实验目的47
二、实验内容及步骤47
三、实验仪器和设备52
四、实验报告要求53
实验一:
vmware虚拟机安装与使用
一:
实验目的
1.了解vmware的基本基本功能;
2.了解在vmware虚拟机中如何安装系统;
3.熟练使用vmare虚拟机。
二、实验内容及步骤
1、实验内容
a.vmware虚拟机的安装
b.vmware虚拟机的配置
c.在vmware虚拟中安装系统
2、安装步骤
a.双击安装程序后来到VMwareWorkstation安装向导界面。
b.选择安装类型
c.我选择将VMwareWorkstation安装在默认的路径下
d.配置快捷方式
e.确定无误后单击“Install”
f.安装ing……
g.输入产品序列号
h.安装完成
i.重启计算机
j.安装完成
k.在虚拟机窗口规划依次展开“文件”->“新建”->虚拟主机
l.出现“新建虚拟机向导”窗口
m.建议选择“自定义”方便后面配置虚拟机内存,如果你的内存够大(512M以上),可以选择“典型”。
说明一下,这些配置在安装好虚拟机后还是可以更改的。
n.选择需要安装的“客户操作系统”。
o.输入虚拟机名和存放虚拟机文件的文件夹的路径:
p.添加网络类型:
对于图中出现的可供选择的网络类型VMwareWorkstation帮助文件中是这样定义的:
q.指定虚拟磁盘容量:
建议不要勾选复选框,这样创建的虚拟磁盘将会如图中描述的那样大小随着对虚拟磁盘安装操作系统和应用软件的多少而增加。
大小可以保持默认的8GB,这对安装常用的操作系统和应用软件来说已经足够了。
r.安装xp,设置虚拟机WINXP的属性,鼠标点击一下虚拟机winxp
s.点击setting后可得以下界面,这里就可以选择所用的CD-ROM类型,找到xp映象文件。
t.开始安装XP系统
u.对虚拟硬盘进行分区
v.完成XP安装
三、实验仪器和设备
PC机、vmware软件和xp系统盘
四、实验报告要求
1.比较两款以上的虚拟机的共同点和不同点
2.对本次实验写多于300字以上的实验心得
实验二:
Linux操作系统的配置与安装
一:
实验目的
1.掌握如何在wmware中安装linux;
2.掌握如何配置符合自己需要linux系统;
3.熟练掌握linux两种安装模式。
二、实验内容及步骤
1、实验内容
a.图形模式下安装linux,并配置符合自己要求的linux系统
b.文本模式下安装linux,并配置符合自己要求的linux系统
c.登陆linux系统,熟悉linux环境
2、图形模式下安装linux步骤
a.在虚拟机窗口规划依次展开“文件”->“新建”->虚拟主机
b.选择linux安装类别,在linux安装中有两种安装模式text模式与图形模式
c.图形模式下安装linux,建议跳过CD检测,CD检测花比较长的时间
d.选择安装过程的安装语言
e.选择linux安装类型
f.选择磁盘分区模式,建议大家使用自动分区
g.配置引导装载程序
h.配置网络
i.配置防火墙
j.选择系统所能支持的语言
k.设置根口令,注意根口令是不能随意给普通用户知道的。
l.选择软件包组
m.安装程序开始安装刚才所配置的软件包
n.安装过程中更换光盘
o.图形化界面(X)配置
p.重启系统
q.设置普通用户帐号与密码
r.输入用户帐号与密码
s.完成系统的启动
3.模仿上面的操作完成文本模式下linux系统的安装
本部分希望能独立完成
三、实验仪器和设备
PC机、vmware虚拟机和redhatlinux系统盘3张
四、实验报告要求
1.比较两种模式下安装方面的主要区别和注意事项
2.对本次实验写多于300字以上的实验心得
实验三:
Linux常用操作指令
一:
实验目的
1.了解linux下的字符界面;
2.掌握linux下常用命令;
3.熟练掌握增加、删除用户和组方法。
二、实验内容
(一).了解Linux中的基本命令的语法
1.Linux中有两种类型的命令:
shell内部命令、外部应用程序命令
2.命令的格式:
command[option][argument]命令名选项参数
eg:
lsls–l
3.了解Linux中的特定命令的参数列表以及相关的帮助
maninfohelp
eg:
manls
infols
ls--help
4.了解系统的文件和目录操作
a.名的组成:
字母、数字、下划线、圆点
b.文件类型
c.一些特别的文件目录
(1)./根目录是最上级的目录,其它所有目录都在其下级
(2)./的下级目录:
bin目录是可以执行的命令,蓝色的是目录,绿色的表示可以执行文件,浅蓝色的是链接文件,即快捷方式
sbin系统管理员执行的命令
dev设备存放的目录
etc所有的配置文件存放地
usr应用程序的主目录
home任何用户都在home中都有与其用户名同名的一个主目录
root超级管理员的主目录,它不在home目录下。
lib库文件存放地
proc内核在内存中的映像,可以在此查看到有关系统硬件信息.
var日志文件存放地
src系统内核文件
(二)每一个用户都会有一个主目录,直接敲cd就可以进入用户的主目录。
且每个用户都回有一个和用户名同名的目录即为它的主目录。
路径:
分为绝对路径和相对路径,以/目录开始的路径表示绝对路径,相对于当前目录的路径是相对路径,…/
[用户名@主机名当前目录名]#超级用户
[用户名@主机名当前目录名]$普通用户
1.显示当前所处的目录pwd命令(显示绝对路径)
2.进入其它目录cd命令eg:
cd/root
3.进入上一级目录cd..
4.进入上一次进入的目录cd–
5.显示目录中的文件和子文件ls查看目录以及隐藏文件ll–a
6.创建目录mkdir文件名
7.同时创建多个目录mkdir文件名1文件名2……
8.递归式创建目录树mkdir–p111/11/1
9.删除空文件rmdir文件名
10.删除非空文件rm–rf文件名
11.查找文件find目标–name文件(可以使用通配符)
12.显示文件内容catfilename一屏查看lessfilename可以上下定位查看morefilename多屏显示内容
13.head:
显示文件的前n行head–n文件名
14.tail:
显示文件的后n行tail–n文件名
15.cp:
拷贝文件cp文件路径新文件路径
16.mv:
移动文件mv源地址目标地址
17.ln:
创建符号链接文件
硬件链接
eg:
lnabc.txtabc
符号链接
eg:
ln–nabc.txta(相当与创建快捷方式)
18.sort:
排序命令,eg:
sort/etc/passwd
19.grep:
查找文件,eg:
grep‘zhao’/etc/passwd
20.wc:
对文本文件进行统计,得出其中的字符数、行数等信息
21.du文件名查看文件的大小
22.格式化硬盘为ext3文件系统mkfs.ext3/dev/sda(sdb\sdc)
21.格式化后挂载mount–text3/dev/sda/home/目录名
22.查看当前用户的所属id
23.查看当前是哪个用户登录w
24.查看自己是谁whoami/who
25.查看IPifconfig
26.查看文件的格式file文件名(如文本格式、目录格式等等)
(三)增加、删除用户和组
用户和组的管理
1.创建用户:
方法1:
#useraddusername–ppassword
例:
增加用户kk,密码kk#useraddkk–pkk
方法2:
#useradd用户名passwd
用户名
提示输入密码
确认密码
或者直接修改/etc/passwd文件,然后手工创建相应的用户主目录
2.创建组groupadd组名 passwd–d 一般不设置密码
3.设置该用户为该组的管理员 gpasswd–A用户名 组名
4.设置该用户的UID(超级管理员的uid为0,0<系统用户的<500、500<=系统外部用户(手动创建的)<=65535)useradd–uuid用户名
5.设置组UIDgroupadd–guid组名
6.将该用户添加到该组中 gpasswd–a用户名 组名
7.查看用户属于哪个组 grep用户名 /etc/group
8.删除空组 groupdel组名
9.为组改名字 groupmod–n新名 原名
10.为用户改名usermod–l新名原名
11注销系统的logout命令
三、实验仪器和设备
PC机、vmware虚拟机和redhatlinux系统
四、实验报告要求
1.写出四种以上常用命令的使用参数功能。
2.对本次实验写多于300字以上的实验心得
实验四:
Linux下编辑器的使用
一:
实验目的
学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。
二、实验内容及步骤
(一)实验内容
1.进入和退出vi。
2.利用文本插入方式建立一个文件。
3.在新建的文本文件上移动光标。
4.对文本文件执行删除、复原、修改、替换操作。
(二)实验步骤
1.进入和退出vi
<1>进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。
<2>退出vi
在命令方式下可有几种方法退出vi编辑器:
:
wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到UNIXshell下。
:
ZZ仅当作过修改时才将缓冲区内容写到文件上。
:
x与:
ZZ相同。
:
q!
强行退出vi。
感叹号(!
)告诉vi,无条件退出,丢弃缓冲区内容。
这样,先前对该文件所做的修改或输入都被抛弃。
2.新建文件
<1>在UNIX提示符$之后,输入命令:
vimyfile,然后按〈Enter〉键。
<2>输入插入命令i(屏幕上看不到字符i)。
<3>然后,输入以下文本行:
TotheonlywomanthtI, Formangyearyouhavebeenmywife
<4>发现这两行有错,进行改正:
按〈Esc〉键,从插入方式回到命令方式。
按光标上移键,使光标移到第一行。
按光标左移键,使光标移到“tht”的第二个“t”处。
输入i(这是插入命令),然后输入a。
该行变成如下形式:
TotheonlywomanthatI, 按光标右移键,使光标移到“I”上。
我们想在“I”之后输入一个空格和单词“love”。
为此,输入附加命令“a”。
结果屏幕显示为:
TotheonlywomanthataI,这是怎麽回事儿?
......原来是:
我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。
所以,输入的所有字符都作为输入文本予以显示。
<5>按〈Esc〉键,返回命令方式。
利用x命令删除错误字符。
然后,进入插入方式,输入正确字符。
<6>最后输入如下所示的文本:
TotheonlywomanthatIlove, FormanyyearyouhavebeenmywwifeIliveyouwichmylife abdcouldnothavepickedmuchbetter.
<7>将你编辑的文本文件存盘。
(利用:
wq命令,或者:
x命令)
<8>重新进入vi编辑程序,编辑上面的文件。
(如:
$vimyfile)
<9>在屏幕上见到myfile文件的内容。
在屏幕底边一行显示出该文件的名称、行数和字符个数:
“myfile”4lines,130characters它仍然有错,需进一步修改。
<10>将光标移到第二行的year的r处。
输入a命令,添加字符s。
<11>按〈Esc〉,回到命令方式。
输入命令10〈Space〉,光标移至何处?
---光标右移10个字符位置。
<12>利用取代命令r将mywwife改为mywife。
<13>将光标移至第三行。
输入新行命令O(大写字母),屏幕上有什麽变化?
---光标移至上一行(新加空行)的开头。
<14>输入新行的内容:
We"vebeenthroughmuchtogether 此时,vi处于哪种工作方式?
<15>按〈Esc〉,回到命令方式。
将光标移到第四行的live的i字母处。
利用替换命令s将i改为o。
<16>在第四行的you之后添加单词dearly。
将wich改为with。
<17>修改后的文本是以下内容:
TotheonlywomanthatIlove, FormanyyearsyouhavebeenmywifeWe"vebeenthroughmuchtogether Iloveyoudearlywithmylifeandcouldnothavepickedmuchbetter. 将该文件存盘,退出vi。
<18>重新编辑该文件。
并将光标移到最后一行的have的v字母处,使用d$命令将v至行尾的字符都删除。
<19>现在想恢复17步的原状,怎麽办?
(使用复原命令u)
<20>使用dd命令删除第一行;将光标移至through的u字母处,使用C(大写字母)命令进行修改,随便输入一串字符。
将光标移到下一行的开头,执行5x命令;然后执行重复命令(.)。
<21>屏幕内容乱了!
现在想恢复17步的原状,怎么办?
(不写盘,强行退出vi)
能用u或U命令恢复屏幕原状吗?
三、实验仪器和设备
PC机、vmware虚拟机和redhatlinux系统
四、实验报告要求
1.写出四种以上常用命令的使用参数功能。
2.对本次实验写多于300字以上的实验心得
实验五:
Linux下C语言编程—实现阶乘运算与素数求解
一:
实验目的
1.学习使用vi编辑器建立、编辑、显示以及加工处理C语言代码。
2.掌握在linux下C语言的编译与连接方法
3.掌握GCC的使用方法与关键参数
二、实验内容及步骤
(一)实验内容
1.使用Vi编写程序代码
2.完成任意数阶乘运算程序的编写
3.完成素数求解序程序编写
(二)实验步骤
1.进入Vi编辑器编写所要的C语言程序代码
2.使用gcc对所编译代码进行编译与连接,要求编译与连接分开进行。
3.运行所编写的程序并检查运算结果。
三、实验仪器和设备
PC机、vmware虚拟机和redhatlinux系统
四、实验报告要求
1.写出实现算法的流程和相对应程序
2.对本次实验写多于300字以上的实验心得
补充:
阶乘:
素数定义:
如果一个数的因数只有1和它自身,那么它就是素数。
如何判断一个数是否是素数?
可以用2到(N-1)之间的数作为除数,一个一个地去除N,如果都除不尽,N就为素数,如果其中有某个数能整除N,则N就不是素数。
gcc参数详解
gccandg++分别是gnu的c&c++编译器
gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件
2.将预处理后的文件不转换成汇编语言,生成文件.s
3.有汇编变为目标代码(机器代码)生成.o的文件
4.连接目标代码,生成可执行程序
[参数详解]
-xlanguagefilename
设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根
据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果
你很个性,决定你的C代码文件的后缀名是.pig哈哈,那你就要用这
个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数
的使用。
可以使用的参数吗有下面的这些
`c’,`objective-c’,`c-header’,`c++’,`cpp-output’,
`assembler’,and`assembler-with-cpp’.
看到英文,应该可以理解的。
例子用法:
gcc-xchello.pig
-xnonefilename
关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
例子用法:
gcc-xchello.pig-xnonehello2.c
-c只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
例子用法:
gcc-chello.c
他将生成.o的obj文件
-S只激活预处理和编译,就是指把文件编译成为汇编代码。
例子用法
gcc-Shello.c
他将生成.s的汇编代码,你可以用文本编辑器察看
-E只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里
面.
例子用法:
gcc-Ehello.c>pianoapan.txt
gcc-Ehello.c|more
慢慢看吧,一个helloword也要与处理成800行的代码
-o制定目标名称,缺省的时候,gcc编译出来的文件是a.out,很难听,如果
你和我有同感,改掉它,哈哈
例子用法
gcc-ohello.exehello.c(哦,windows用习惯了)
gcc-ohello.asm-Shello.c
-pipe使用管道代替编译中临时文件,在使用非gnu汇编工具的时候,可能有些问
题
gcc-pipe-ohello.exehello.c
-ansi关闭gnuc中与ansic不兼容的特性,激活ansic的专有特性(包括禁止一
些asminlinetypeof关键字,以及UNIX,vax等预处理宏,
-fno-asm此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作
关键字。
-fno-strict-prototype
只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式
的对参数的个数和类型说明,而不是没有参数.
而gcc无论是否使用这个参数,都将对没有带参数的函数,认为城没有显式说
明的类型
-fthis-is-varialble
就是向传统c++看齐,可以使用this当一般变量使用.
-fcond-mismatch
允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
-funsigned-char
-fno-signed-char
-fsigned-char
-fno-unsigned-char
这四个参数是对char类型进行设置,决定将char类型设置成unsignedchar(前
两个参数)或者signedchar(后两个参数)
-includefile
包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以
用它设定,功能就相当于在代码中使用#include
例子用法:
gcchello.c-include/root/pianopan.h
-imacrosfile
将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件
中
-Dmacro
相当于C语言中的#definemacro
-Dmacro=defn
相当于C语言中的#definemacro=defn
-Umacro
相当于C语言中的#undefmacro
-undef
取消对任何非标准宏的定义
-Idir
在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头
文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他
回先在你所制定的目录查找,然后再按常规的顺序去找.
对于#include
统的缺省的头文件目录查找
-I-
就是取消前一个参数的功能,所以一般在-Idir之后使用
-idirafterdir
在-I的目录里面查找失败,讲到这个目录里面查找.
-iprefixprefix
-iwithprefixdir
一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
-nostdinc
使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确
限定头文件的位置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 实验 指导书