《基于skyeye的嵌入式linux系统设计--课程设计报告--学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于skyeye的嵌入式linux系统设计--课程设计报告--学士学位论文.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、郑州航空工业管理学院嵌入式系统课程设计报告题目:基于SKYEYE的嵌入式Linux系统设计目 录一、引言二、设计目的三、设计要求(1) 建立VMWARE虚拟机。(2) 安装Linux RHEL AS4操作系统环境。(3) 建立Windows操作系统与Linux操作系统的共享功能。(4) 建立交叉编译环境;安装SKYEYE仿真软件。(5) 配置并编译U-Boot-1.3.2软件。(6) 配置并编译Linux-2.6.14内核源代码。(7) 制作Linux根文件系统。(8) 使用SKYEYE仿真嵌入式系统的运行。四、实验进展安排五、考核评价六、总体设计七、总结八、参考文献一、引言以手机和信息家电为
2、代表的嵌入式系统的应用开发已经成为现代工业最热门的领域之一,其灵魂就是嵌入在其中的计算机系统嵌入式系统。嵌入式系统仿真环境是支持嵌入式系统软件开发的一种快速、高效和低成本的工具,对于提高嵌入式系统的开发效率和开发质量具有重要意义。SkyEye是一个支持多架构、多核并且具有高度可扩展性的硬件仿真平台,是国内最优秀的开源软件(opensource software)项目之一,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统使“Clinux以及uCOSII等多种嵌入式操作系统和各种系统软件(如TCPIP、图形子系统、文
3、件子系统等)能够良好运行,并可对它们进行源码级的分析和测试。如果要学习Linux操作系统或者进行嵌入式系统开发,但缺少硬件支持,嵌入式系统仿真环境软件SkyEy是一个非常有效的学习工具和开发手段。如果想研究与具体硬件无关的系统软件(如TCPIP协议栈等),采用SkyEye可以有效地提高工作效率。使用的Linux操作系统是Linux RHEL AS4。采用Linux2.6内核,功能更加强大,更加健全二、设计目的通过对嵌入式系统的基本知识及相关概念的了解,在熟悉Linux操作系统的基础上,利用SKYEYE仿真软件,对嵌入式系统的开发过程进行软件仿真,从而掌握嵌入式Linux系统开发中的主要方法。具
4、体地,在设计过程中,达到以下目标:掌握嵌入式Linux系统基础部分的U-Boot软件、Linux内核的配置、编译与应用;掌握BusyBox软件及根文件系统的制作方法;掌握SKYEYE软件的使用方法,通过SKYEYE仿真软件运行U-Boot文件、vmLinux文件映像及根文件系统root.cramfs映像。 最终,能在掌握嵌入式系统开发过程及SKYEYE软件使用方法的基础上,建立更有效的嵌入式系统开发方法,提高嵌入式系统的开发与应用的效率。三、设计要求1. 任务要求要求能独立地分析题目意义、设计实现步骤、制作相关软件、调试嵌入式系统“三大基础部分”。该设计的具体要求如下:(1) 建立VMWARE
5、虚拟机。(2) 安装Linux RHEL AS4操作系统环境。(3) 建立Windows操作系统与Linux操作系统的共享功能。(4) 建立交叉编译环境;安装SKYEYE仿真软件。(5) 配置并编译U-Boot-1.3.2软件。(6) 配置并编译Linux-2.6.14内核源代码。(7) 制作Linux根文件系统。(8) 使用SKYEYE仿真嵌入式系统的运行。2. 设计所需的软硬件设备(1)硬件环境配置计算机:Intel(R) Pentium(R) 及以上内存:1GB及以上(2)软件环境配置操作系统:Microsoft Windows XP Professional Service Pack
6、2虚拟机:VMware WorkStation 7Linux系统:Red Hat Enterprise Linux AS 4 (2.6.9-5.EL)嵌入式交叉编译器:arm-linux-gcc 3.4.4版本Linux内核版本:Linux-2.6.14SKYEYE版本:skyeye-1.2.4U-Boot版本:U-Boot-1.3.2BusyBox版本:BusyBox-1.2.0六、总体设计1建立VMWARE虚拟机使用Vmware虚拟机是安装linux最容易的方式之一,在Windows系统中安装VMWARE虚拟机从而建立Linux系统便于操作和资源查找。VMWARE虚拟机采用VMWARE W
7、orkstaion 7,安装版本如下(1)VMWARE Workstaion的安装和其他软件安装基本相同,下面简单图示安装过程。双击进行安装。(2) 安装完毕后,填写注册信息,这里需要注册码,按要求将对应各项填写完以后,直接点击Enter按钮进行信息注册,并进入下一步(3) 如果安装了保护卡的电脑不要选择“Restart Now”;反之,选择“Restart Now”,重新启动系统。重新启动系统后,点击开始-所有程序-VMware WorkStation运行Vmware虚拟机2. 安装Linux RHEL AS4操作系统环境。1 在Vmware虚拟机的运行界面中,点击菜单栏中的File项,在弹
8、出的下拉菜单中选New项,再点击弹出菜单的Virtual Machine项。出现新的虚拟机安装向导2 在弹出的安装向导中提供两个选项,这里选择自定义安装(Custom),进入下一步 3 选择Vmware虚拟机平台,不同的Vmware虚拟机平台支持的硬件特性不同。这里选择Workstation6.5-7.0,进入下一步。4 选择要安装的Linux操作系统光盘镜像,同时使用Vmware虚拟机的“Easy Install”功能自动安装Linux操作系统。选择第一张安装光盘镜像,进入下一步。5 设置安装的Linux系统的用户名和密码信息。进入下一步。6 设置Linux虚拟机的显示名称及安装路径。根据自
9、己的情况选择安装路径,名称可以选择默认。进入下一步。7 配置虚拟机使用的处理器。配置处理器数量、处理器的内核数,这里使用默认的设置:1个单核处理器。进入下一步。8 配置虚拟机使用的存储器空间,这里设置为512MB。进入下一步。9 设置网络类型。选择Use network address translation(NAT),,进入下一步。10设置I/O适配器类型,进入下一步。11 创建一个虚拟磁盘,在其上安装Linux操作系统。进入下一步12 选择使用的磁盘类型,按默认的设置即可。进入下一步。13 设置硬盘的空间大小,50GB,进入下一步。14 设定存储磁盘文件的路径。根据自己的情况进行选择,进入
10、下一步。15 对话框汇总了前面的设置项目,如果没有错误,不需要修改,直接点击Finsh按钮,进行Linux系统的安装。16第1张光盘安装完毕,需要第2张安装光盘的镜像。点击右下方的“Change Disc”按钮,在弹出的对话框中点击“Browse.”按钮在弹出的对话框中双击选择第2个光盘的镜像。第3张和第4张操作相似。17 Linux系统安装完毕后会自动启动,会出现登陆界面。18 在界面中输入刚开始设置的用户名和密码,进入Linux系统的桌面环境。3.建立Windows操作系统与Linux操作系统的共享功能。为了Windows操作系统与Linux操作系统的文件共享。我们需要设置共享功能。而Sa
11、mba服务可以提供Windows操作系统与Linux操作系统之间的文件共享。如下进行配置。1 点击“Applications”-“SystemSettings”-“Security Level”,弹出“Security Level Configuration”对话框。在“Security Level Configuration”对话框中,将“Security Level”项设置为“Disable firewall”,即无防火墙3 点击“Applications”-“SystemSettings”-“Samba”,在弹出的“Samba服务器配置”对话框中进行配置。而显示的配置内容为空,这说明还没
12、有配置Samba服务器4 点击“ADD”图标,添加1个Samba服务共享,在弹出的对话框中选择“Basic”选项卡,在其中进行设置:在“Directory”文本框输入/home/zcnet;在“Share name”文本框中输入zcnet;在“Basic Permissions”选项中选择“Read/Write”。接着切换到“Access”选项卡,其中有两项选择,一项是仅允许特定的用户访问,另一项是允许所有用户访问。在这里选择“Allow access to everyone”选项。 5 点击“Preferences”-“Server Settings.”,弹出“服务器设置”对话框。 在“Ba
13、sic”选项卡内,按默认内容设置“Workgoup”与“Description”;在“Security”选项卡内“Authentication Mode”项选择“Share”,“Encrypt Passwords”项选择“NO”,“Guest Account”项选择“No Guest Account” 6 设置/home/ zcnet文件夹的属性7 在windows操作系统环境下,右键点击“网络邻居”图标,在弹出的“网络连接”对话框中,可以看见有一个“VMware Network Adapter VMnet8”连接项,右键点击该项,在弹出的菜单中点击选择“属性”选项,接着会弹出“VMware
14、Network Adapter VMnet8”属性对话框,其中,在“常规”选项卡里面有一个“此连接使用下列项目(O)”文本框,点选其中的“Internet 协议(TCP/IP)”项,然后点击下方的“属性”按钮,会弹出“Internet 协议(TCP/IP)属性”对话框,其中显示的“IP地址(I)”为:192.168.0.6,在下面将相关的IP地址都配置在同一网段中。 8设置Samba服务器IP地址 点击“Applications”-“System Tools”-“Network Device Control”项,弹出“网络设备控制”对话框。点击选定“eth0”设备,确认“Status”栏的内容
15、为“Active”(如果“Status”栏的内容为“Inactive”,需要先点击右侧的“Activate”按钮,将其激活),再点击右边的“Configure.”按钮,弹出“网络配置”对话框,其中显示了已有的网络设备,将其中的IP地址配置为和上一步中在同一网段的IP地址9 点击VMware虚拟机的“VM”菜单,选择“Settings.”项。在“Hardware”选项卡中左侧选择“Network Adapter”项,相应的,在右侧的Network connection中选择“NAT:Use to share the hosts IP address”项, directly to the同时,在“
16、Devices status”框中选择“Connected”与“Connect at power on”项 10 启动Smaba服务器,启动终端,在终端输入命令service smb start,启动samba服务。 11 在windows下访问共享文件夹。在windows系统中点击“开始”-“运行”,输入samba服务器的IP地址,点击“确定”按钮,就可以看到Linux系统下的共享文件夹/home/zcnet 4 .建立交叉编译环境;安装SKYEYE仿真软件 Gcc交叉编译环境的安装在网上下载Gcc交叉编译包。放在目录home中在终端运行如下命令:设置环境变量,将交叉开发工具的设置更新到系统
17、环境中,这样就可有直接在命令行使用,设置环境变量的方法如下:(1)在终端运行命令:vi /root/.bashrc(2)编辑/root/.bashrc文件,在最后一行添加export PATH=$PATH:/home/usr/local/bin.(3)注销Redhant系统,重新登录,使以上设置生效。启动终端,在命令行输入arm-linux-gcc v,出现如下图示的信息,说明交叉编译环境已经成功安装。SKYEYE的安装:将下载好的skyeye-1.2.4压缩包放在目录home里在终端运行5 .配置并编译U-Boot-1.3.2软件 5.1 交叉编译U-Boot-1.3.2软件 把U-Boot
18、-1.3.2压缩文件放到/home文件夹下在终端中输入:cd /home 进入到home文件夹下,在终端中输入:tar xjvf u-boot-1.3.2.tar.bz2 C ./ 把u-boot-1.3.2解压到home文件夹下,在终端中输入:cd u-boot-1.3.2 进入到cd u-boot-1.3.2文件夹下, make smdk2410_config CROSS_ROMPILE=arm-linux- 配置编译环境make CROSS_ROMPILE=arm-linux- 选择嵌入式交叉编译工具进行编译,编译完成后,可以得到U-boot各种格式的映像文件和符号表。5.2使用SKYE
19、YE仿真软件测试编译得到的U-Boot文件 新建一个文件,命名为skyeye_s3c4210.conf,并把内容配置为skyeye config file for S3C2410X在/home 文件夹下的U-Boot-1.3.2里找到u-boot,和u-boot.bin文件,把这两个文件和skyeye_s3c2410.conf一同复制到home/ skyeye-1.2.4/binary文件夹里在终端中输入命令:cd /home/ skyeye-1.2.4、binary在终端中输入命令:./skyeye c skyeye_s3c2410.conf e u-boot在u-boot可以在“SMDK2
20、410#”后 输入命令echo li jian ,测试U-boot。6. 配置并编译Linux-2.6.14内核源代码 6.1交叉编译Linux内核源代码软件 把Linux 2.6.14压缩文件放到/home文件夹下 在终端中输入cd /home 进入到home文件夹下 在终端中输入tar -xjvf linux-2.6.14.tar.bz2 把Linux 2.6.14压缩文件解压到home文件夹下 在终端中输入cd /home/linux-2.6.14使用vi编辑器打开该目录下的Makefile文件,修改第192行与第193行,改为:ARCH ?=arm CROSS_COMPILE ?=/h
21、ome/usr/local/bin/arm-linux- 分别指定编译的内核架构与使用的交叉编译工具。在终端中输入:cp arch/arm/configs/smdk2410_defconfig .config make ARCH=arm menuconfig启动内核配置菜单,参考书中各个选项的配置,特别要注意系统类型、启动选项、设备驱动程序和内核调试的配置。课本中对于各个选项的配置以及作用叙述的很详细,这里就不再累述。但特别要注意系统类型、启动选项、设备驱动程序和内核调试的配置。这几项改动地方较多,需要认真配置。配置完成保存后,需要更改程序运行的物理地址修改include/asm-arm/ar
22、ch-s3c2410/memory.h文件Linux内核的编译:cd /home/linux-2.6.14 make ARCH=arm CROSS_COMPILE=arm-linux-内核编译完毕后,将得到三个重要的文件,分别位于根目录下的vmlinux、位于Linux-2.6.14安装目录中arch/arm/boot/路径下的Image与zImage。6.2 使用SKYEYE仿真软件测试编译得到的Linux内核文件vmLinux 复制vmlinux到/home/ilovechina/skyeye-1.2.4/binary cp vmlinux /home/zcnet/skyeye-1.2.4
23、/binary/ 建立skyeye.conf配置文件到/home/ilovechina/skyeye-1.2.4/binary cd /home/zcnet/skyeye-1.2.4/binary/ vi skyeye.conf skyeye.conf配置文件的内容为: #skyeye config file for s3c2410cpu:arm920tmach:s3c2410x#physical memorymem_bank:map=M,type=RW,addr=0xc0000000,size=0x00800000mem_bank:map=M,type=RW,addr=0xc0800000,
24、size=0x00800000,file=./initrd.imgmem_bank:map=M,type=RW,addr=0xc1000000,size=0x01000000#all peripherals I/O mapping areamem_bank:map=I,type=RW,addr=0x48000000,size=0x20000000mem_bank:map=I,type=RW,addr=0x19000300,size=0x00000020net:type=cs8900a,base=0x19000300,size=0x20,int=9,mac=0:4:3:2:1:f,ethmod=
25、tuntap,hostip=10.0.0.1lcd:type=s3c2410x,mod=gtk#dbct: state=on 复制文件系统initrd.img到/home/ilovechina/skyeye-1.2.4/binary把SKYEYE的测试工具包压缩文件放到/home文件夹下。在终端中输入命令:cd /home在终端中输入命令:tar xjvf skyeye-testsuite-2.3.tar.bz2在终端中输入命令:cd skyeye-testsuite-2.3/linux/s3c2410/s3c2410x-2.6.14在终端中输入命令:cp initrd.img /home/z
26、cnet/skyeye-1.2.4/binary使用SKYEYE仿真Linux系统在终端中输入命令:cd /home/zcnet/skyeye-1.2.4/binary在终端中输入命令:./skyeye -e vmlinux 7. 制作Linux根文件系统 7.1编译安装BusyBox1 在home文件夹中新建一个文件夹命名为ilovechina2 把BusyBo x压缩文件放到/home/ilovechina下3 在终端中输入命令:cd /home/ilovechina 进入BusyBox-1.2.0的存放位置4 在终端中输入命令:tar -xjvf busybox-1.2.0.tar.bz
27、2 进行解压5 在终端中输入命令:cd busybox-1.2.0 6 在终端中输入命令:make menuconfig 进入BusyBox的主配置菜单7 参考书中提供的资料进行设置各个选项8 配置完成各个选项后,保存设置9 在终端中输入命令:make 对BusyBox进行编译,进行编译后得到两个主要的文件:BusyBox与BusyBox_unstripped。10 在终端中输入命令:make install 安装BusyBox以后会在BusyBox-1.2.0目录中产生_install目录,这是BusyBox默认的安装目录。在安装目录_install中还得到了bin、sbin、usr等三个目
28、录以及Linuxrc文件BusyBox经过设置、编译与安装在默认的安装目录_install下得到了bin、sbin、usr等三个目录以及Linuxrc文件。在 BusyBox安装目录_install的基础上进行扩展以后可以得到根文件系统。根文件系统中包括了bin、dev、etc、home、initrd、lib、lost+found、proc、root sbin 、tmp 、usr 、var等13个目录以及linuxrc文件,其中home、initrd、lib、lost+found、proc、root、tmp、var 等目录为空目录,暂时没有内容,另外,用户自己还需要创建dev目录与etc目录,
29、dev目录用以存放设备文件,etc目录用来存放启动文件。7.2创建根文件系统的dev目录:1 在终端中输入命令:mkdir _install/dev2 在终端中输入命令:cp /dev/ttyS0/dev/console/dev/ram0 _install/dev/ -a这样就在dev目录中添加了串口终端设备、系统控制台设备、RAM磁盘设备等三个常用的硬件设备文件7.3创建根文件系统的etc等目录及配置文件 这一部分的配置内容较多,也比较繁琐,为了使相应的目录与配置文件的建立过程相对简单,编写make_rootfs.sh来实现该部分的操作。 1创建make_rootfs.sh脚本文件,内容如下
30、:echo setp of make_rootfsecho 1:create foldersmkdir -pv etc etc/init.d home initrd lib proc root tmp var lost+foundecho 2:etc/inittabcat etc/inittab etc/init.d/rcS etc/mtab etc/motd consoledisplaydriversupport-vgatextconsole这个选项是不能选的,设置后保存,再进行编译就可以了。嵌入式系统的学习,不只在课本上的那些内容,这次课程设计不仅考察了我们对课堂上所学专业知识的理解程度,也锻炼了我们的动手能力。提高了我们独立思考文理,解决问题的能力。总体上看,我觉得这次课程设计是我自身的知识丰富了不少,但同时也发现了自己的不足之处。例如在动手方面,和知识融合方面,不能与实践相结合。软件操作不够熟练,不能灵活运用。是我了解要先学好理论知识才能很好地与实践相结合,才能熟练地运用活中八、参考文献嵌入式系统应用基础 赵成主编