嵌入式系统及实际应用第三四次实验.docx

上传人:b****7 文档编号:11502021 上传时间:2023-03-02 格式:DOCX 页数:34 大小:1.96MB
下载 相关 举报
嵌入式系统及实际应用第三四次实验.docx_第1页
第1页 / 共34页
嵌入式系统及实际应用第三四次实验.docx_第2页
第2页 / 共34页
嵌入式系统及实际应用第三四次实验.docx_第3页
第3页 / 共34页
嵌入式系统及实际应用第三四次实验.docx_第4页
第4页 / 共34页
嵌入式系统及实际应用第三四次实验.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

嵌入式系统及实际应用第三四次实验.docx

《嵌入式系统及实际应用第三四次实验.docx》由会员分享,可在线阅读,更多相关《嵌入式系统及实际应用第三四次实验.docx(34页珍藏版)》请在冰豆网上搜索。

嵌入式系统及实际应用第三四次实验.docx

嵌入式系统及实际应用第三四次实验

《嵌入式系统及应用》实验第三、四次

 

实验一Linux映像固化与运行

一、实验目的

ARM实验设备和Emlink-W仿真器

掌握使用Emlink-W仿真器固化linux映射程序

二、实验内容

H-JTAG软件配置

固化启动映像Bootloader

固化内核映像zImage

固化根文件系统映像ramdisk

三、实验步骤

1.准备工作

将Mini2410核心板boot跳线帽闭合

连接好Emlink-W仿真器、电源线(打开电源开关,给实验箱上电)。

2.固化完整的linux系统

参见附录一文档《基于EduKit-IV出厂固化说明》中“5使用Emlink-W仿真器固化Linux映像程序”部分矚慫润厲钐瘗睞枥庑赖。

3.启动ramdisk根文件系统

最基本的Linux系统就固化成功了,可以修改vivi的启动参数来设置启动方式(出厂默认是采用yaffs根文件系统启动方式):

聞創沟燴鐺險爱氇谴净。

启动ramdisk根文件系统:

vivi>paramramdisk

vivi>paramsave

启动yaffs根文件系统:

vivi>paramreset

vivi>paramsave

启动nfs根文件系统:

vivi>paramsetlinux_cmd_line"root=/dev/nfsnfsroot=192.192.192.190:

/home/example/nfsip=192.192.192.200:

192.192.192.190:

192.192.192.1:

255.255.255.0:

EDUK4:

eth1:

offconsole=ttySAC1,115200mem=64Minit=/linuxrcnoinitrd"残骛楼諍锩瀨濟溆塹籟。

vivi>paramsave

根据不通的vivi启动参数可以引导不同的根文件系统。

4.根文件系统的更新

进行根文件系统的固化与更新。

步骤如下:

1)在EduKit-IV实验平台中,Mini2410-IV核心子板中运行的Linux采用了“双根文件系统”的技术,MTD2分区存放ramdisk根文件系统,MTD3分区存放yaffs根文件系统。

对于正常使用的用户而言,可见的文件系统是yaffs根文件系统,只有在该文件系统崩溃的时候,才通过修改vivi参数启动ramdisk根文件系统,来恢复更新yaffs根文件系统。

同时在Linux映像固化的时候,yaffs根文件系统也是通过ramdisk文件系统更新的。

下面的步骤将介绍通过ramdisk根文件系统来固化更新yaffs根文件系统。

酽锕极額閉镇桧猪訣锥。

2)运行PC机上WindowsXP系统自带的超级终端软件,“开始->所有程序->附件->通讯->超级终端”,设置每秒位数115200、数据位8、奇偶校验无、停止位1、数据流控制无。

(确认已经关闭其他超级终端工具)彈贸摄尔霁毙攬砖卤庑。

3)将EduKit-IV实验平台的电源的拨动开关拨向向上端的加电状态,重新给实验平台上电,在超级终端的界面将会出现Linux启动映像vivi的启动信息,在vivi启动的同时迅速按下PC机的空格键进入vivi的命令行界面。

(如果没有及时进入vivi的命令行界面请重新启动实验系统,再进入vivi命令行界面)謀荞抟箧飆鐸怼类蒋薔。

4)在超级终端界面的vivi命令行输入命令修改传递给内核的启动参数“paramramdisk”,输入完成后按回车键:

厦礴恳蹒骈時盡继價骚。

5)参数修改成功后,在vivi的命令行输入“boot”,启动Linux内核,在超级终端中可以看到Linux的启动信息,同时也可以在LCD屏上看到Linux的启动画面。

茕桢广鳓鯡选块网羈泪。

6)Linux启动完成后,输入回车即可进入Linux的命令行界面。

7)将拷贝有rootfs-eduk4-tsp-ys.tgz文件(DISK3_S3C2410\02-Images\02-Linux)的U盘插入EduKit-IV实验平台的USB接口的上面U口,在超级终端中可以看到提示U盘插入的信息,如图4-6-15所示:

鹅娅尽損鹌惨歷茏鴛賴。

附:

出厂的yaffs根文件系统映像为rootfs-eduk4-tsp-ys.tgz,其他的映像见光盘内同级目录下的list.txt文件说明,后面章节所介绍的linux实验使用的yaffs根文件系统映像为rootfs-eduk4-base.tgz。

籟丛妈羥为贍偾蛏练淨。

另外此处也可以不必使用U盘作为传送映像的媒介,也可以使用SD卡或者网络等传送。

8)在超级终端的Linux命令行执行命令:

$mount-tvfat/dev/ub/a/part1/media

将U盘映射到/media目录:

9)在超级终端的Linux命令行执行命令:

$tarzxvf/media/rootfs-eduk4-tsp-ys.tgz-C/mnt

解压rootfs-eduk4-tsp-ys.tgz文件到MTD3所映射的目录,如图4-6-38所示:

10)解压完成后,输入命令:

$umount/mnt

$umount/media

卸载U盘及MTD3设备:

11)拔出U盘,给EduKit-IV实验平台重新上电,在超级终端的界面将会出现最终的Linux启动信息,同时LCD屏上也会显示Linux的启动画面。

預頌圣鉉儐歲龈讶骅籴。

附:

Linux操作系统下想更新启动映像、内核映像映像和根文件系统映像可以使用Minicom软件,由于Linux下没有vivi支持的USB驱动,所以不能使用“loadflashviviu”命令,但是可以使用xmodem方式来下载,命令为“loadflashvivix”渗釤呛俨匀谔鱉调硯錦。

5Linux映像的运行

固化好了bootloader、内核、根文件系统后,重启实验平台或者给实验平台重新加电,正确设置好超级终端,将可以看到串口打印的信息铙誅卧泻噦圣骋贶頂廡。

实验二vivi的编译与运行

一、实验目的

熟悉vivi相关知识及应用;

学会使用交叉编译器编译vivi;

掌握vivi命令将文件固化到目标板上。

二、实验内容

在Ubuntu系统下,使用交叉编译器编译vivi;

利用vivi命令固化Linux文件到目标板上。

三、实验原理

bootloader(引导加载程序)是系统加电后运行的第一段代码,一般运行的时间非常短,但是对于嵌入式系统来说,这段代码非常重要。

在我们的台式电脑当中,引导加载程序由BIOS(固件程序)和位于硬盘MBR中的操作系统引导加载程序(比如NTLOADER,GRUB和LILO)一起组成。

擁締凤袜备訊顎轮烂蔷。

在嵌入式系统当中没有像BIOS这样的固件程序,不过也有一些嵌入式CPU会在芯片内部嵌入一小段程序,一般用来将bootloader装进RAM中,有点类似BIOS,但是功能比BIOS弱很多。

在一般的典型系统中,整个系统的加载启动任务全由bootloader来完成。

在ARM中,系统上电或复位时通常从地址0x00000000处开始执行,而在这个位置,通常安排的就是系统的BOOTLOADER。

通过这小段程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境设置到一个合适的状态,从而最终为调用操作系统内核准备好正确的环境。

贓熱俣阃歲匱阊邺镓騷。

vivi是由mizi公司为ARM处理器系列设计的一个bootloader,因为vivi目前只支持使用串口和主机通信,所以您必须使用一条串口电缆来连接目标板和主机。

主要功能为:

复制并启动内核,初始化硬件,下载目标板到flash等。

坛摶乡囂忏蒌鍥铃氈淚。

vivi有两种工作模式:

启动加载模式和下载模式。

启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。

在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,见下表:

蜡變黲癟報伥铉锚鈰赘。

表1-1vivi使用命令表

四、实验步骤

1.编译vivi

1)在Ubuntu中单击菜单应用程序->附件->终端打开终端,在终端中输入命令设置环境变量:

2)进入vivi实验工作目录:

3)清除早前可能存在的配置信息:

4)执行配置命令:

图1-1vivi配置界面

选择LoadanAlternateConfigurationFile选项,回车。

在弹出的对话框中输入配置文件,这里我们提供了vivi的配置文件:

config-eduk4。

買鲷鴯譖昙膚遙闫撷凄。

图1-2选择配置文件

选择,回车退出。

接下来在选择退出配置,然后再在如图1-3中选择,保存并退出。

綾镝鯛駕櫬鹕踪韦辚糴。

图1-3vivi配置退出保存界面

5)执行make命令生成可执行文件,文件存放在当前目录下:

6)拷贝文件:

执行完命令后,将自动拷贝vivi到/home/example/目录下。

2.固化vivi

在Ubuntu下采用minicom终端更新,下面的步骤将具体介绍:

1)正确连接交叉串口于实验平台的COM2和PC端的串口。

2)运行ubuntu终端,在终端中输入命令打开minicom:

图1-4启动minicom终端

3)给实验平台上电,启动内置viv并按空格键进入到vivi的命令行界面:

图1-5进入vivi命令行

4)输入命令使用xmodem协议来传送新编译好的vivi(/home/example/vivi):

图1-6进入vivi命令行

输入完命令后,回车,终端提示等待xmodem协议传送文件,此时按下“Ctrl+a”键,然后再输入“z”键进入到minicom的功能菜单:

驅踬髏彦浃绥譎饴憂锦。

图1-7minicom功能菜单

从键盘输入“s”,选择发送文件选项,出现协议选择菜单:

图1-8minicom传送协议选择

通过键盘的上下方向键选中xmodem协议,回车进入所需传送文件的默认路径界面:

图1-9minicom传送默认文件夹

此时通过键盘的左右方向键,选中“[转到]”选项,回车,在弹出的界面输入新的vivi映像所在目录路径/home/example:

猫虿驢绘燈鮒诛髅貺庑。

图1-10输入目标传送文件所在目录

输入完成后回车,将进入到新vivi所在目录:

图1-11进入到目标传送文件所在目录

通过键盘方向键选择“[OK]”项,弹出目标传送文件界面,输入目标文件名vivi:

图1-12进入到目标传送文件名

输入正确的目标传送文件名后,回车,将开始传送新的vivi映像,并显示传送进度:

图1-13传送中

传送完毕将提示传送成功,按任意键退出:

图1-14传送完成

在minicom终端将打印出新vivi的固化信息,并提示成功:

图1-15完成vivi的传送

注意:

等待传送的时间不宜太久,否则就超时,如果出现选中了所需传输的文件,但是传送进度无反应的,即时超时,可按“Ctrl+c”退出,重新传送。

锹籁饗迳琐筆襖鸥娅薔。

5)可以重启实验系统验证新固化进去的vivi,minicom终端打印如下:

实验三内核编译与运行

一、实验目的

学习和掌握Linux编译的基本步骤;

通过实验掌握Linux配置、编译过程。

二、实验内容

对Linux的内核及用户程序进行配置;

编译生成内核映象文件;

把编译的映象文件烧写到FALSH中,查看运行结果。

三、实验原理

内核是Linux操作系统的核心,它管理所有的系统线程、进程、资源和资源分配。

与其它操作系统不同的是,Linux操作系统允许用户对内核进行重新设置。

用户可以对内核进行“瘦身”,增加或消除对某些特定设备或子系统的支持。

在开发嵌入式系统时,开发人员经常会减少系统对一些无用设备的支持,将节省下来的内存分配给各种应用软件。

構氽頑黉碩饨荠龈话骛。

Linux内核对各种硬件和端口的支持要靠各种硬件驱动程序来实现。

这些驱动程序可以被直接写入内核,也可以针对某些特定硬件在需要时自动加载。

通常情况下,可以被自动加载进内核的内核编码称为自动加载内核模块。

輒峄陽檉簖疖網儂號泶。

Linux内核的设置是通过内核设置编辑器完成的。

内核设置编辑器可对每个内核设置变量进行描述,帮助用户决定哪些变量需要被清除,哪些需要写入内核,或者编成一个可加载内核模块在需要时进行加载。

尧侧閆繭絳闕绚勵蜆贅。

内核是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。

直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。

硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。

识饒鎂錕缢灩筧嚌俨淒。

用户可以根据自己的需要编译内核。

四、实验步骤

1.编译内核

1)单击菜单应用程序->附件->终端打开终端,设置环境变量:

2)执行命令切换到linux内核目录下:

3)清除早前可能存在的配置信息:

4)执行配置命令:

图2-1kernel配置界面

选择LoadanAlternateConfigurationFile选项,添加配置文件,回车。

凍鈹鋨劳臘锴痫婦胫籴。

图6-2-2选择LoadanAlternateConfigurationFile

将弹出的窗体中的.config替换成./config-eduk4。

图6-2-3选择kernel配置文件

选择,回车退出。

在弹出的主配置界面中,选择,回车。

图6-2-4kernel配置退出保存界面

选择,回车。

5)编译内核:

编译完成后将在arch/arm/boot目录下生成zImage文件,并自动拷贝到/home/example目录下。

恥諤銪灭萦欢煬鞏鹜錦。

6)生成驱动模块:

2.固化内核映像

使用minicom固化内核映像的方法跟前节固化vivi映像的步骤相似,启动vivi后,输入命令使用xmodem协议来传送新编译好的内核映像zImage(/home/example/zImage):

鯊腎鑰诎褳鉀沩懼統庫。

后面的步骤参考前节vivi的传送,仅需要把需要传送的文件名替换为zImage即可,传送完毕minicom串口终端打印信息如下:

硕癘鄴颃诌攆檸攜驤蔹。

图6-2-5内核映像传送完毕

重启实验系统将可以看到新的内核引导信息。

 

实验四busybox编译实验

一、实验目的

熟悉busybox相关知识及应用;

学会使用交叉编译器定制一个busybox;

利用该busybox制作一个文件系统。

二、实验内容

利用交叉编译器编译busybox;

利用已经配置好的busybox制作一个文件系统。

三、实验原理

busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小。

我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用。

另外,大多数linux发行版的安装程序中都有busybox的身影,安装linux的时候按ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链接。

busybox的小身材大作用的特性,给制作一张软盘的linux带来了及大方便。

阌擻輳嬪諫迁择楨秘騖。

busybox是标准Linux工具的一个单个可执行实现。

busybox包含了一些简单的工具,例如cat和echo,还包含了一些更大、更复杂的工具,例如grep、find、mount以及telnet。

有些人将busybox称为Linux工具里的瑞士军刀。

简单的说busybox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,用户可以根据自己的需要定制一个busybox。

氬嚕躑竄贸恳彈瀘颔澩。

四、实验步骤

1.编译busybox

1)单击菜单应用程序->附件->终端打开终端,设置环境变量:

2)执行命令切换到busybox实验目录下:

3)解压busybox-1.1.2.tar.bz2:

4)进入目录,并打上补丁:

5)清除早前可能存在的配置信息:

6)执行配置命令:

图6-3-1busybox配置界面

选择LoadanAlternateConfigurationFile选项,添加配置文件,回车。

釷鹆資贏車贖孙滅獅赘。

图6-3-2选择LoadanAlternateConfigurationFile界面

将弹出的窗体中的.config替换成eduk4。

图6-3-3选择busybox配置文件

选择,回车退出。

在弹出的主配置界面中,选择,回车。

图6-3-4busybox配置退出保存界面

7)编译busybox:

执行完命令后,将在busybox-1.1.2下面生成一个_install文件夹。

2.基于busybox生成文件系统包

1)建立root-mini文件系统目录,并拷贝busybox生成的文件到该目录内:

2)创建文件系统目录树结构,并拷贝必要的文件到文件系统目录内:

3)拷贝inittab文件到etc目录下:

4)在etc/init.d目录下建立rcS文件,内容如下:

5)修改新建的文件系统文件夹属性:

这样基于busybox所建立的文件系统就做好了。

 

实验五ramdisk根文件系统的制作

一、实验目的

熟悉根文件系统组织结构;

定制、编译ramdisk根文件系统。

二、实验内容

利用实验三中的已经完成的文件系统,生成一个根文件系统镜像。

三、实验原理

ramdisk是内核初始化的时候用到的一个临时文件系统,是一个最小的linuxrootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,做为启动引导驱动,包含如下目录:

bin,dev,etc,home,lib,mnt,proc,sbin,usr,var。

还需要有一些基本的工具:

sh,ls,cp,mv……(位于/bin目录中);必要的配置文件:

inittab,rc,fstab……位于(/etc目录种);必要的设备文件:

/dev/tty*,/dev/console,/dev/men……(位于/dev目录中);sh,ls等工具必要的运行库:

glibc。

怂阐譜鯪迳導嘯畫長凉。

四、实验步骤

1.制作ramdisk根文件系统映像

1)单击菜单应用程序->附件->终端打开终端,设置环境变量:

2)执行命令切换到ramdisk实验目录下:

3)运行脚本文件:

shell脚本命令说明:

创建一个空的ramdisk镜像:

用dd命令建立了一个名为ramdisk的ramdisk基本文件;ramdiskimage文件名为ramdisk,大小为2M。

谚辞調担鈧谄动禪泻類。

格式化文件系统:

把它格式化为你需要的文件系统,比如ext2,ext3等。

在rootfs上面建立ext2文件系统。

这里的-N3500表示最大的node数为3500。

因为linux的设备也是基于文件系统的,需要占用文件系统的node,如果数目建立的太少,以后可能会不够用。

嘰觐詿缧铴嗫偽純铪锩。

挂载文件系统:

把ramdisk文件系统挂载到temp目录下面。

拷贝实验中已经创建好的文件结构到temp文件夹:

卸载;

生成压缩文件;

修改root-mini.gz的执行权限;

删除临时文件夹ramdisk,拷贝生成的ramdisk根文件系统映像到/home/example目录。

熒绐譏钲鏌觶鷹緇機库。

这样生成的ramdisk.gz即为ramdisk根文件系统映像,同时拷贝到/home/example目录下。

鶼渍螻偉阅劍鲰腎邏蘞。

2.固化引导ramdisk文件系统

在Ubuntu下采用minicom终端更新。

使用minicom固化ramdisk文件系统映像的方法跟前节固化vivi映像的步骤相似,启动vivi后,输入命令使用xmodem协议来传送新制作好的ramdisk文件系统映像ramdisk.gz(/home/example/ramdisk.gz):

纣忧蔣氳頑莶驅藥悯骛。

后面的步骤参考前节vivi的传送,仅需要把需要传送的文件名替换为ramdisk.gz即可,传送完毕minicom串口终端打印信息如下:

颖刍莖蛺饽亿顿裊赔泷。

图6-4-1ramdisk映像传送完毕

重启实验系统,并按空格进入到vivi的命令行界面,输入命令修改vivi启动参数为引导ramdisk根文件系统启动:

濫驂膽閉驟羥闈詔寢賻。

重新启动实验系统,将可以在minicom终端看到ramdisk文件系统的完成信息:

 

收获及建议:

总体来说第三四次的实验与第二次的难度差不多,经常因为一些细节的问题出现运行与烧制错误。

后来通过一步一步的校验,修改才做完实验,感觉的这些程序的调整上注意细节非常重要。

并且通过多次重复实验记住了很多命令,发现掌握这些东西还是需要多练多操作的。

銚銻縵哜鳗鸿锓謎諏涼。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

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

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