毕业设计(论文)基于MagicSOPC的uClinux的移植.doc
《毕业设计(论文)基于MagicSOPC的uClinux的移植.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于MagicSOPC的uClinux的移植.doc(27页珍藏版)》请在三一办公上搜索。
1、本科毕业论文 (设计)题 目:基于MagicSOPC的uClinux的移植学 院:信息工程学院 专 业:计算机科学与技术 姓 名: 指导教师: 2009 年 6 月 5 日摘要uClinux嵌入式操作系统是一种可以嵌入到硬件平台上的操作系统,它主要是为无内存管理单元的处理器设计,它支持多任务,具有完备的TCP/IP协议栈并支持多种网络协议,并且支持多种文件系统。NIOS II是ALTERA公司开发的可用于SOPC(System on a Programmable Chip,可编程片上系统)设计的处理器软核。基于NIOS II软核的SOPC系统,其最大特点就是灵活,可以根据自己的需要灵活改变NI
2、OS II的外围设备,使得硬件利用效率达到最高,同时它具有ISP(In System Programmable,在系统编程)的功能,可裁减,可扩充,可升级。本文主要研究了基于MagicSOPC的uClinux嵌入式系统的移植过程。在对MagicSOPC了解的基础上,通过修改、配置、交叉编译uClinux内核源代码,实现了uClinux发行包在MagicSOPC开发板上的成功移植。编译后的内核最终烧录至开发板,并成功运行。关键词:uClinux,MagicSOPC,NIOS II,嵌入式系统Abstract The uClinux is a kind of operating system wh
3、ich can be embedded in the hardware platform.It is mainly designed for the processor of Non-Memory Management Unit.It supports the multi-duties and many kinds of filing system,It also supports a lot kinds of net protocols,as well as has a integtated TCP/IP protocol stack.NIOS II is a processers soft
4、core used for designing of system on a programmable chip which is developed by ALTERA.System on a programmable chip based on NIOSII is very flexible,its peripheral equipment can be changed according to your needs,which makes the hardwares use efficiency highest.At the same time, NIOSII has in-system
5、-programmable function,it is reducible,expandable,upgradeable.The paper probes into the process of transplanting uClinux to MagicSOPC.After knowing more about MagicSOPC,It have realized the transplanting uClinux to NIOS IIII board by writing,altering,setting,cross-compiling the kernel of uClinux.The
6、 compiled kernel had been downloaded,burned to development board and run successfully at last.Keywords: uClinux,MagicSOPC,NIOS II,Embedded System目录第一章 绪论11.1 研究背景及意义11.2研究的主要内容2第二章 嵌入式系统及嵌入式操作系统概述22.1嵌入式系统的概念及特点22.2嵌入式操作系统的概念及特点32.3嵌入式系统的发展4第三章 uClinux内核分析43.1uClinux内核结构特点43.2uClinux源代码组织结构53.3内存管理6
7、3.4进程管理7第四章 系统硬件平台MagicSOPC介绍84.1 SOPC简介84.2 MagicSOPC开发板功能简介94.3MagicSOPC的硬件资源和核心板性能114.3.1硬件资源114.3.2 核心板PowerSOPC-2C35性能124.4 NIOS IIII软核处理器简介13第五章 基于MagicSOPC的uClinux移植145.1建立交叉编译环境145.2内核下载145.3 内核配置和编译155.4 内核烧写18第六章 全文总结22谢辞23参考文献24第一章 绪论1.1 研究背景及意义随着通信网络技术和集成电路设计的高速发展,嵌入式系统已成为IT业的一个焦点。嵌入式系统大
8、量应用于自动控制、工业生产、军事技术和家用消费类数码设备上。PC己经从高速增长进入到平稳发展的市场顶峰时期,单纯由PC带领的电子产业蒸蒸日上的时代己经成为历史,现在的电子产业的发展需要寻找一个新的发展点。人们提出了“后PC时代”的概念,计算机无处不在,它渗透到生活和工作的方方面面。后PC时代的绝大多数计算机是以非计算机的形式出现的,例如智能手机、个人数字助理、路由器、电视机等等。这些设备大多数是以嵌入式系统的形式存在。近年来,可编程逻辑器件(PLD)的发展,使得SOPC(System On A Programmable Chip,可编程片上系统)成为可能, 即在一块可编程芯片上实现整个系统。N
9、IOS II是ALTERA公司开发的可用于SOPC设计的处理器软核。基于NIOS II软核的SOPC系统,其最大特点就是灵活,可以根据自己的需要灵活改变NIOS II的外围设备,使得硬件利用效率达到最高,同时它具有ISP(In System Programmable,在系统编程)的功能,可裁减,可扩充,可升级。uClinux是Linux的一个分支,它保留了Linux稳定和优异的网络能力以及优秀的文件系统支持的特点,同时又克服了Linux必须依赖与MMU的不足,是一种优秀的嵌入式操作系统。同时NIOS II又是一种高效、低功耗的RISC处理器。二者的结合将使基于NIOS II和uClinux的嵌
10、入式产品有更高的竞争力。1.2研究的主要内容本文针对嵌入式操作系统移植的普遍问题,结合Altera公司的NIOS IIII嵌入式处理器对嵌入式操作系统uClinux移植的以下几个方面进行了探讨和研究:(1)uClinux操作系统;(2)硬件开发平台MagicSOPC;(3)NIOS IIII软核处理器;(4)将uClinux移植到MagicSOPC板子上的主要步骤。第二章 嵌入式系统及嵌入式操作系统概述随着信息技术和网络技术的迅速发展,建立在此基础上的嵌入式系统已广泛渗透到科学研究、工程设计、军事技术、商业文化艺术以及人们的日常生活等方面,嵌入式接入设备是数字化时代的一大主流产品,世界各国在此
11、领域开始了激烈竞争,以争取获得主导地位。本章主要介绍了嵌入式系统和嵌入式操作系统的基本概念和特点。2.1嵌入式系统的概念及特点嵌入式系统是计算机软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统通常具备以下一些特点:(1)嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业具体应用相结合的产物,是一个技术密集、资金密集、高度分散、不断据创新的知识集成系统;(2)嵌入式系统通常只执行特定的功能,是面向用户、面向产品、面向特定应用的系统。嵌入式系统CPU都具有低功耗、体积小
12、、集成度高等特点,而且能够集成多种外设,从而有利于整个系统趋于小型化;(3)嵌入式系统和具体的应用有机地结合在一起,其升级换代也和具体的产品同步进行,因此,嵌入式系统产品一旦进入市场,就具有较长的生命周期;(4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储芯片中或单片机中,而不是在存储在磁盘等载体中。另外,由于大部分嵌入式系统必须具有较高的实时性,因此对程序的质量,特别是可靠设计性,有较高的要求。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执
13、行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构己模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3)可扩展的处理器结构,能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mW甚至uW级。据不完全统计,全世界嵌入式处理器已经超过100多种,流行的体系结构有30几个系列。嵌入式微处理器的体系结构经历了从CISC (Complex Instruction Set Computer,复
14、杂指令集计算机)到RISC(Reduced Instruction Set Computer,精简指令集计算机)和CompactRISC的转变;位数由4位、8位、16位、32位到64位;寻址空间从64KB到64MB;处理速度从0.1MIPS(Million Instructions Per Second,百万指令每秒)到2000MIPS等。2.2嵌入式操作系统的概念及特点嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操
15、作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。从20世纪80年代开始,出现了各种各样的商用嵌入式操作系统,这些嵌入式操作系统大部分是为专有系统开发,从而形成了多种形式的嵌入式操作系统,常用的操作系统包括嵌入式Linux、Microsoft windowsCE、vxworks以及uC/OS-II等等。2.3嵌入式系统的发展纵观嵌入式系统的发展,大致经历了
16、三个阶段。第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、指示设备相配合的功能。这种系统大部分应用于工业控制系统中,一般没有操作系统的支持。第二阶段以嵌入式操作系统为标志。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具有文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),嵌入式应用软件丰富,但与互联网无关。第三阶段是以基于因特网为标志的嵌入式系统,这是一个正在迅速发展的阶段。第三章 uClinux内核分析嵌入式操作系统是嵌入式系统的灵魂,
17、而且在同一个硬件平台上可以嵌入不同的嵌入式操作系统,本章主要针对uClinux内核进行分析探讨。嵌入式uClinux操作系统主要由三个基本部分组成:引导程序,uClinux内核(由内存管理,进程管理和中断处理等构成)和文件系统。uClinux可以通过定制使内核小型化,还可以加上GUI和定制应用程序,并将其放在ROM,RAM,FLASH或者Disk On Chip中启动。由于嵌入式uClinux操作系统的内核定制的高度灵活性,开发者可以按需要进行分配,来满足实际应用要求;又由于uClinux是源代码公开,因此开发人员完全可以了解内核原理,自己开发部分应用软件,下面将详细分析嵌入式操作系统uCli
18、nux内核的特点。3.1uClinux内核结构特点uClinux从Linux2.0/2.4内核派生而来,其内核功能结构与Linux基本相同,不同的主要是对内存管理和进程管理进行了改写,以满足无MMU处理器的要求。另外,由于大多数内核源代码被改写,uClinux的内核要比原来Linux2.0内核小的多,但保留了Linux操作系统的主要优点:稳定性、优异的网络能力以及优秀的文件系统支持。作为一个优秀的嵌入式操作系统,uClinux的主要特点有:(1)通用的LinuxAPI(Application Programming Interface,应用程序编程接口);(2)完整的TCP/IP协议堆栈;(3
19、 )支持大量其他的网络协议;(4)支持各种文件系统,包括NFS,ext2,romfs,JFFS,MS-DOS以及FAT 16/323.2uClinux源代码组织结构uClinux系统采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面:首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码;其次romfs文件系统相对简单,建立文件系统超级块需要更少的存储空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟RAM盘的方法进行处理(RAM盘将采用ext2文件系统)。现在的uClinux有两种版本,即uClin
20、ux-2.0和uClinux-2.4版本,它们分别对应于标准Linux的uClinux-2.0和uClinux-2.4版本。下面我以内核2.4.x为例,详细介绍内核源文件的结构。该版本的uClinux内核源程序安装在/home/uClinux-dist/linux-2.4.x目录下。Linux内核版本编号有约定:任何偶数的内核(例如2.0.x)都是一个稳定的发行内核,而任何奇数的内核(例如2.1.x)都是一个正在开发中的内核。内核源程序的文件按树型结构进行组织,在内核源程序树的最上层linux-2.4.x目录下你会看这样一些目录:(1) arch:arch包括了所有和体系结构相关的核心代码。它
21、的每一个子目录都代表一种支持的体系结构,例如NIOS II就是关于NIOS II CPU体系结构的内核,NIOS II2NOMMU就是关于NIOS II的内核。(2)include:inlcude子目录包括编译内核所需要的大部分头文件。与平台无关的头文件在/include/linux子目录下,例如与NIOS IIII CPU相关的头文件在inlcude/NIOS II2armnommu子目录下。(3)init:这个目录包含内核的初始化代码,包含文件main.c和versions.c,这是研究初始化和内核的一个非常好的起点。(4) mmnommu:这个目录包括所有独立于CPU体系结构的内存管理代
22、码,如页式存储器管理内存的分配和释放,而和体系结构相关的内存管理代码则位于arch/*/mm目录中。(5) kernel:主要的核心代码,此目录下的文件实现了大多数uClinux系统的内核函数,其中最重要的文件当属sched.c,同样,和体系结构相关的代码在arch/*/kernel目录中。(6)drivers:存放系统所有的驱动程序。每种驱动程序又各占一个子目录,如block下为块设备驱动程序,比如ide (ide.c)。如果你想查看所有可能包含文件系统的设备是如何被初始化的,你可以看drivers/block/genhd.c中的device_setup()。它不仅初始化硬盘,还初始化网络。
23、(7)其他如lib,放置内核的库代码,net放置内核与网络相关的代码,ipc这个目录包含内核的进程间通信的代码,fs为所有文件系统代码和个那文件类型的操作代码,它的每个子目录支持一种文件系统,例如fat和ext2, scripts包含用于配置内核的脚本文件等等。内核源代码分为特定于体系结构的部分和与体系结构无关的部分。内核中特定于体系结构的部分先执行,它设置硬件寄存器,配置内存映射,执行特定于体系结构的初始化,然后将控制权交给内核中与体系结构不相关的部分。内核树下的目录arch/由不同的子目录组成,每个子目录用于一个不同的体系结构(MIPS,ARM,I386,SPARC,PPC等)。每一个这样
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 MagicSOPC uClinux 移植
链接地址:https://www.31ppt.com/p-3979432.html