嵌入式系统课程设计报告基于SKYEYE的嵌入式Linux系统设计1

上传人:1777****777 文档编号:38755846 上传时间:2021-11-08 格式:DOC 页数:20 大小:985.50KB
返回 下载 相关 举报
嵌入式系统课程设计报告基于SKYEYE的嵌入式Linux系统设计1_第1页
第1页 / 共20页
嵌入式系统课程设计报告基于SKYEYE的嵌入式Linux系统设计1_第2页
第2页 / 共20页
嵌入式系统课程设计报告基于SKYEYE的嵌入式Linux系统设计1_第3页
第3页 / 共20页
点击查看更多>>
资源描述
xxxxxxxx学院嵌入式系统课程设计报告题目:基于SKYEYE的嵌入式Linux系统设计2014 2015第 2学期院系: 电子通信工程系 姓名: 专业: 学号: 指导老师: 电子通信工程系目 录一、引言二、设计目的三、设计要求(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仿真嵌入式系统的运行。四、实验进展安排五、考核评价六、总体设计七、总结八、参考文献一、引言根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。仿真技术也是实现仿真平台的关键,软件仿真技术的研究早已开始。目前,嵌入式系统的仿真软件主要有SKYEYE与QEMU,这里选用SKYEYE软件来仿真嵌入式系统中的软硬件系统。在本次课程设计中,采用ARMv4 版本架构的、ARM920T 核心的S3C2410A 微处理器,应用SKYEYE对经过编译的嵌入式系统的基本模块进行仿真。SKYEYE是一个面向完整 PC 系统的开源仿真器,可以实现嵌入式系统的仿真,给用户提供一个虚拟的硬件操作平台。它是一个指令级仿真器,可以模拟多种嵌入式开发板,可支持多种CPU 指令集。除了仿真处理器外,SKYEYE 还允许仿真所有必要的子系统,如连网硬件和图形硬件。在SKYEYE 上运行操作系统与在一个真实的硬件环境中运行是一样的,看不出其中的差别,并且开发人员还可以通过SKYEYE 调试操作系统和系统软件。通过 SKYEYE 仿真集成环境不仅可以很方便地进入到嵌入式系统软件学习和开发领域,而且可以有效地提高工作效率,有助于进一步学习、分析、精通Linux 内核,掌握ARM 嵌入式CPU 编程。二、设计目的通过对嵌入式系统的基本知识及相关概念的了解,在熟悉Linux操作系统的基础上,利用SKYEYE仿真软件,对嵌入式系统的开发过程进行软件仿真,从而掌握嵌入式Linux系统开发中的主要方法。具体地,在设计过程中,达到以下目标:掌握嵌入式Linux系统基础部分的U-Boot软件、Linux内核的配置、编译与应用;掌握BusyBox软件及根文件系统的制作方法;掌握SKYEYE软件的使用方法,通过SKYEYE仿真软件运行U-Boot文件、vmLinux文件映像及根文件系统root.cramfs映像。 最终,能在掌握嵌入式系统开发过程及SKYEYE软件使用方法的基础上,建立更有效的嵌入式系统开发方法,提高嵌入式系统的开发与应用的效率。三、设计要求1. 任务要求要求能独立地分析题目意义、设计实现步骤、制作相关软件、调试嵌入式系统“三大基础部分”。该设计的具体要求如下:(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. 设计所需的软硬件设备(1)硬件环境配置计算机:Intel(R) Pentium(R) 及以上内存:1GB及以上(2)软件环境配置操作系统:Microsoft Windows XP Professional Service Pack 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.03. 课程设计报告内容按该设计报告要求的模式格式提交课程设计报告书。四、推荐的进展安排进展安排1、 查阅资料、设计步骤 (已进行)2、 安装与配置开发环境1天;3、 配置与编译相关软件及系统3天;4、 写出设计报告 1天。五、考核评价考核评价评价机制权重过程评价考勤10%课堂纪律10%自主学习20%团队合作10%任务完成过程20%任务完成结果20%设计报告书写10%合计100%六、总体设计(1) 建立VMWARE虚拟机的几个关键步骤Vmware虚拟机初始加载结束后,进入安装向导界面,如图,点击Next进入下一步设定程序的安装路径,点击“Browse”按钮,可以选择更改默认的安装路径,然后设置自己需安装的程序路径,在选定安装路径以后,点击Next按钮进入下一步的安装系统重启后,点击开始 - “Vmware”- “Vmware Workstation”,运行Vmware虚拟机(2)安装Red Hat Enterprise Linux 4的简要步骤点击“File”项,在弹出的下拉菜单中选“New”项,再点选弹出菜单的“Virtual Machine”项。出现新的虚拟机安装向导安装向导提供两个选项,这里选择默认的自定义安装(Custom),直接点击Next按钮,进入下一步选择VWware虚拟机平台,不同的虚拟机支持的特性不同,不用修改,直接进入下一步。设置安装的Linux系统的用户名和密码信息的设置,点击Next进入下一步。下面的对话框汇总了前面的设置项目,如果没有错误,不需要修改,直接点击“Finish”按钮,进入Linux系统的安装。在 Username:中输入root;密码:123456进入Linux系统Linux系统的界面为了能充分 Linux系统提供的功能,需要添加相应的应用程序,这里将选择全部安装。点击“Application”- ”Add/Remove Application”菜单,弹出如图所示的“程序包管理器”窗口,选择其中需要的包进行安装,除了默认已有的,我安装了windows file service。然后,点击“Update”按钮,进入下一步安装。在弹出的如下对话框后,点击continue按钮,进入下一步,程序包自动安装,在安装过程中,不断的出现更换光盘镜像的提示,按弹出的对话框内的内容更换相应的光盘镜像即可,直至安装完毕。在图中,点击“Action”-“Log out”,选择注销系统,随后弹出如图的对话框,如图进行设置点击“OK”按钮,确认注销系统,是安装的程序包可用。(3) 建立Windows操作系统与Linux操作系统的共享功能。 因为在配置ip地址事总是出问题,在这里采用了另外一种的方式共享方式:安装虚拟机工具集。 (1)在VMware虚拟机中选择”VM-Install VMware tools”,在桌面上出现一个“VMware tools”的光盘。 (2)找到压缩文件,解压到/home文件下,将路径切换到vmware-tools-distrib的安装目录中,然后在终端运行如下命令: ./vmware-install.pl (3)安装好之后,提示“enjoy”,如图 (4)然后添加共享文件夹,在linux中的“mnt-hgfs”存在自定义的文件名(我设的是share),说明共享成功。 (4)建立交叉编译环境;安装SKYEYE仿真软件Gcc交叉编译环境的安装在终端运行如下命令:设置环境变量,将交叉开发工具的设置更新到系统环境中,这样就可有直接在命令行使用,设置环境变量的方法如下:(1)在终端运行命令:vi /root/.bashrc(2)编辑/root/.bashrc文件,在最后一行添加export PATH=$PATH:/home/usr/local/bin.如图所示 (3)然后把home/usr/local中5个文件复制到usr/local中; (4)注销Redhant系统,重新登录,使以上设置生效。启动终端,在命令行输入arm-linux-gcc v,出现如下图示的信息,说明交叉编译环境已经成功安装。SKYEYE的安装:(5) 配置并编译U-Boot-1.3.2软件。.u-boot简介 U-Boot,全称 Universal Boot Loader,它是一个用于多种微处理器的BootLoader程序,由德国DENX小组开发,属于遵循GPL条款的跨平台的开放源码项目。它的主要功能是实现硬件设备的初始化、操作系统代码的下载,并提供一个控制台及一个命令集,使用户在操作系统运行前操控硬件资源。 .u-boot的编译 从U-Boot的官方网站ftp:/ftp.denx.de/pub/u-boot/下载源代码,版本是1.3.2,名称是u-boot-1.3.2.tar.bz2。将下载的U-Boot-1.3.2放在/home目录中,并解压其源码包至当前目录中。解压U-Boot-1.3.2源码包后,运行“ls命令”,可以查看得到的U-Boot-1.3.2源码文件夹,如图5-2所示。进入U-Boot-1.3.2的安装目录,开始编译U-Boot,如图下所示,运行如下命令配置编译环境,并选择ARM微处理器使用的嵌入式交叉编译工具: make smdk2410_config CROSS_COMPILE=arm-linux- ,再运行如下命令选择嵌入式交叉编译工具并进行编译: make CROSS_COMPILE=arm-linux- 。编译完成后,可以得到U-Boot各种格式的映像文件和符号表,如下所示: System.map:U-Boot映像的符号表u-boot.bin:U-Boot映像原始的二进制格式u-boot:U-Boot映像的ELF格式u-boot.srec:U-Boot映像的S-Record格式U-Boot的3种映像格式都可以烧录到FlashROM中,但需要看仿真器能否识别这些格式。一般u-boot.bin最为常用,直接按照二进制格式下载,并且按照绝对地址烧录到FlashROM中就可以了。u-boot和u-boot.srec格式映像都自带定位信息。.U-Boot的SKYEYE仿真 U-Boot经过编译后,将得到ELF格式u-boot映像与二进制格式u-boot.bin映像。当在具体的嵌入式应用硬件平台上使用的时候,通常将二进制格式的u-boot.bin映像烧录到FlashROM中引导系统;为了便于虚拟仿真,通常使用SKYEYE仿真调试U-Boot映像文件。将得到的U-Boot文件复制到skyeye-1.2.4的binary目录中,然后如下图所示,运行SKYEE仿真U-Boot文件。执行结果如下图所示:(6) 配置并编译Linux-2.6.14内核源代码。.内核获得与配置从http:/www.kernel.org/pub/linux/kernel/v2.6/网址下载Linux-2.6.14.tar.bz2文件,将其存放到/home目录下,打开终端窗口,在其中运行所示的命令,进入/home目录中解压缩Linux 2.6.14内核文件Linux-2.6.14.tar.bz2。 进入内核解压后的目录/home/linux-2.6.14,使用VI编辑器打开该目录下的Makefile文件,修改第192行与第193行,分别指定编译的内核架构与使用的交叉编译工具。操作命令如下所示。 rootlocalhost home# cd linux-2.6.14 rootlocalhost linux-2.6.14# vi Makefile 修改的第192行与第193行内容如下所示 ARCH ?= arm CROSS_COMPILE ?= /home/usr/local/bin/arm-linux- 修改后的Makefile文件的内容如下图所示。内核配置方式有多种,这里选用make menuconfig方式。内核配置的各个项目都保存在.config文件中,它在/home/linux-2.6.14目录下,是一个隐藏文件。在内核配置菜单中所做的任何修改,最终都会在这个文件中体现出来。Linux在编译时需要依赖.config文件,它也是Makefile对内核进行处理的重要依据。.config是内核编译时所依赖的重要文件,与具体的硬件构架和开发板类型相关。一般来说,Linux内核会提供大多数芯片公司demo板的.config文件,一般找一个近似的进行修改就行。如S3C2410平台上可以选择内核提供的smdk2410_deconfig这个文件进行修改。运行下面的命令启动内核配置菜单: rootlocalhost linux-2.6.14# cp arch/arm/configs/smdk2410_defconfig .config rootlocalhost linux-2.6.14# make ARCH=arm menuconfig 内核具体配置据实际开发所需进行,在此不再赘述。、内核编译对Linux 2.6.14内核配置之后,就可以进行编译了,直接运行如下的命令: rootlocalhost linux-2.6.14# make ARCH=arm CROSS_COMPILE=arm-linux- 这里将CROSS_COMPILE变量定义为arm-linux-,表示使用arm-linux-前缀的工具集作为交叉编译的工具。相对于Linux 2.4内核,Linux 2.6内核配置编译过程要简单一些,不再需要make dep;make zImage;make modules这些命令,只要执行make就可以编译内核映像和模块。 内核编译完毕后,将得到三个重要的文件,分别是位于根目录下的vmlinux、位于Linux-2.6.14安装目录中arch/arm/boot/路径下的Image与zImage。 vmlinux是在内核源码顶层目录生成的内核映像,属于elf格式的目标文件。它是内核在虚拟空间中运行时代码的真实反映。因为Linux内核运行在虚拟地址空间,所以vmlinux中的“vm”表示“Virtual Memory”。Image与zImage均为二进制文件。zImage是可引导的、压缩的内核映像,它是vmlinux的压缩映像,是可执行的Linux内核映像。zImage采用gzip压缩格式,包含gzip的解压缩函数。在使用SKYEYE软件仿真Linux内核运行时,一般加载vmlinux映像文件;在将Linux内核的映像文件下载到评估电路板上时,一般下载的是zImage压缩的内核映像文件。在SKYEYE环境中仿真Linux内核的运行,需要三个基础的文件,分别是vmlinux内核映像、skyeye.conf配置文件以及initrd.img文件系统。因此,首先要将这三个文件一同放置到SKYEYE的仿真文件夹(skyeye-1.2.4/binary)中。 (7) 制作Linux根文件系统。 前面仿真linux内核时所用的initrd.img文件为skyeye测试包中的文件系统,当在实际的开发中就要自己制作文件系统了。下面简介用busybox制作根文件系统及在SKYEYE下的仿真1. busybox工具的配置与安装 先从http:/www.BusyB版本的BusyBox软件包,这里选择文件名为BusyBox-1.2.0.tar.bz2的压缩文件,将下载到的BusyBox-1.2.0.tar.bz2压缩文件放在Linux系统中的/home目录下,然后,在解压缩BusyBox软件包并进入解压后得到的BusyBox-1.2.0目录:在BusyBox-1.2.0目录下执行如下命令进入BusyBox的主配置菜单:rootlocalhost BusyBox-1.2.0# make menuconfig 配置BusyBox 的选项以后就应该进入BusyBox 的编译、安装阶段了。在Linux 系统的终端窗口上运行如下命令,开始对BusyBox 进行编译:rootlocalhost BusyBox-1.2.0# makeBusyBox 编译后将得到以下两个主要的文件:BusyBox 与BusyBox_unstripped,其中,BusyBox_unstripped 是一个可执行程序,BusyBox 是经过strip(剥离)后得到的可执行程序。2.根文件系统的制作 (1)创建根文件系统的dev目录根文件系统中的dev 目录用来存放系统的设备文件,这里可以运行如下的命令,将其建立在_install 目录下:rootlocalhost BusyBox-1.2.0# mkdir _install/dev建立的dev 目录目前还只是一个空目录,现在复制主机上Linux 系统中的一些设备文件到_install/dev 目录,可以进行如下操作:rootlocalhost BusyBox-1.2.0# cp /dev/ttyS0 /dev/console /dev/ram0 _install/dev/ -a这样就在dev 目录中添加了串口终端设备、系统控制台设备、RAM 磁盘设备等三个常用的硬件设备文件。 (2)创建根文件系统的etc等目录及配置文件在BusyBox 的安装目录_install 的基础之上,已经添加了dev 目录以及其中的设备文件,按照根文件系统中的目录结构,现在还需要建立etc、home、initrd、lib、proc、root、tmp、var 等目录。将编写的 make_rootfs.sh 脚本文件放在BusyBox 的安装目录_install 中,然后进入安装目录运行该脚本,如下所示:rootlocalhost BusyBox-1.2.0# cd _install/rootlocalhost _install# ./make_rootfs.shrootlocalhost _install# cd .rootlocalhost BusyBox-1.2.0#这样,根文件系统的完整结构就在安装目录_install 中建立出来了,下一步,将使用安装目录_install 中的内容创建文件系统映像。 (3)创建EXT2 格式的文件系统映像在上面的介绍中,已经使用BusyBox 程序得到了根文件系统结构中的核心目录及相关文件,后来又在这些基础上扩展了根文件系统中的dev 目录、etc 目录等构建目录,还相应扩展了根文件系统中的设备文件、配置文件等重要的程序文件,所有的这些根文件系统的构建内容都已经存放在安装目录_install 中了,现在只需要将这些目录与文件制作为一个文件系统映像,就可以在嵌入式系统中使用了。(8) 使用SKYEYE仿真嵌入式系统的运行。前面的准备工作结束后,在SKYEYE的仿真文件夹中应该已经同时具有了vmlinux内核映像、initrd.img文件系统以及skyeye.conf配置文件等三个基础文件。 现在就可以使用如下命令来启动SKYEYE模拟Linux-2.6.14内核的运行。运行结果如下图所示七、总结这次嵌入式系统的课程设计不仅考察了我们对课堂上所学专业知识的理解程度,也锻炼了我们的动手能力。提高了我们独立思考文理,解决问题的能力。总体上看,我觉得这次课程设计是我自身的知识丰富了不少,但同时也发现了自己的不足之处。例如在动手方面,和知识融合方面,不能与实践相结合。软件操作不够熟练,不能灵活运用。是我了解要先学好理论知识才能很好地与实践相结合,才能熟练地运用活中。八、参考文献【1】赵成.基于Skyeye的嵌入式仿真
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!