嵌入式系统及应用第三四次实验.doc_第1页
嵌入式系统及应用第三四次实验.doc_第2页
嵌入式系统及应用第三四次实验.doc_第3页
嵌入式系统及应用第三四次实验.doc_第4页
嵌入式系统及应用第三四次实验.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统及应用实验第三、四次实验一 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 param ramdisk vivi param save 启动yaffs根文件系统: vivi param reset vivi param save 启动nfs根文件系统: vivi param set linux_cmd_line root=/dev/nfs nfsroot=90:/home/example/nfs ip=00:90:::EDUK4:eth1:off console=ttySAC1,115200 mem=64M init=/linuxrc noinitrd vivi param save 根据不通的vivi启动参数可以引导不同的根文件系统。 4. 根文件系统的更新 进行根文件系统的固化与更新。步骤如下: 1)在EduKit-IV实验平台中,Mini2410-IV核心子板中运行的Linux采用了“双根文件系统”的技术,MTD2分区存放ramdisk根文件系统,MTD3分区存放yaffs根文件系统。对于正常使用的用户而言,可见的文件系统是yaffs根文件系统,只有在该文件系统崩溃的时候,才通过修改vivi参数启动ramdisk根文件系统,来恢复更新yaffs根文件系统。同时在Linux映像固化的时候,yaffs根文件系统也是通过ramdisk文件系统更新的。下面的步骤将介绍通过ramdisk根文件系统来固化更新yaffs根文件系统。 2)运行PC机上Windows XP系统自带的超级终端软件,“开始 - 所有程序 - 附件 - 通讯 - 超级终端”,设置每秒位数115200、数据位8、奇偶校验无、停止位1、数据流控制无。(确认已经关闭其他超级终端工具) 3)将EduKit-IV实验平台的电源的拨动开关拨向向上端的加电状态,重新给实验平台上电,在超级终端的界面将会出现Linux启动映像vivi的启动信息,在vivi启动的同时迅速按下PC机的空格键进入vivi的命令行界面。(如果没有及时进入vivi的命令行界面请重新启动实验系统,再进入vivi命令行界面) 4)在超级终端界面的vivi命令行输入命令修改传递给内核的启动参数 “param ramdisk”,输入完成后按回车键: 5)参数修改成功后,在vivi的命令行输入“boot”,启动Linux内核,在超级终端中可以看到Linux的启动信息,同时也可以在LCD屏上看到Linux的启动画面。 6)Linux启动完成后,输入回车即可进入Linux的命令行界面。7)将拷贝有rootfs-eduk4-tsp-ys.tgz文件(DISK3_S3C241002-Images02-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 -t vfat /dev/ub/a/part1 /media 将U盘映射到/media目录: 9)在超级终端的Linux命令行执行命令: $ tar zxvf /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驱动,所以不能使用“load flash vivi u”命令,但是可以使用xmodem方式来下载,命令为“load flash vivi x” 5 Linux映像的运行 固化好了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-1 vivi使用命令表四、实验步骤 1编译vivi 1)在Ubuntu中单击菜单应用程序-附件-终端打开终端,在终端中输入命令设置环境变量:2)进入vivi实验工作目录:3)清除早前可能存在的配置信息:4)执行配置命令:图1-1 vivi配置界面选择Load an Alternate Configuration File选项,回车。在弹出的对话框中输入配置文件,这里我们提供了vivi的配置文件:config-eduk4。 图1-2 选择配置文件选择,回车退出。接下来在选择退出配置,然后再在如图1-3中选择,保存并退出。图1-3 vivi配置退出保存界面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-7 minicom功能菜单从键盘输入“s”,选择发送文件选项,出现协议选择菜单:图1-8 minicom传送协议选择通过键盘的上下方向键选中xmodem协议,回车进入所需传送文件的默认路径界面: 图1-9 minicom传送默认文件夹此时通过键盘的左右方向键,选中“ 转到 ”选项,回车,在弹出的界面输入新的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-1 kernel配置界面选择Load an Alternate Configuration File选项,添加配置文件,回车。图6-2-2 选择Load an Alternate Configuration File将弹出的窗体中的.config替换成./config-eduk4。 图6-2-3 选择kernel配置文件选择,回车退出。 在弹出的主配置界面中,选择,回车。图6-2-4 kernel配置退出保存界面选择,回车。 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-1 busybox配置界面选择Load an Alternate Configuration File选项,添加配置文件,回车。 图6-3-2 选择Load an Alternate Configuration File界面将弹出的窗体中的.config替换成eduk4。图6-3-3 选择busybox配置文件选择,回车退出。 在弹出的主配置界面中,选择,回车。 图6-3-4 busybox配置退出保存界面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是内核初始化的时候用到的一个临时文件系统,是一个最小的linux rootfs系统,它包含了除内核以外的所有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基本文件;ramdisk image文件名为ramdisk,大小为2M。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论