基于S3C2440的Linux操作系统移植本科毕业设计(论文)(50页).doc
《基于S3C2440的Linux操作系统移植本科毕业设计(论文)(50页).doc》由会员分享,可在线阅读,更多相关《基于S3C2440的Linux操作系统移植本科毕业设计(论文)(50页).doc(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于S3C2440的Linux操作系统移植本科毕业设计(论文)-第 42 页本科毕业设计题 目 基于S3C2440的Linux操作系统移植 目 录摘要IAbstractII前言III1 嵌入式linux简介11.1 linux发展概述11.2 linux的优点11.3 Linux 应用领域21.4 Linux系统安装31.4.1 虚拟机安装31.4 .2 Linux安装61.5 Linux常用工具71.5.1 文本编辑器71.5.2 软件包管理81.6 Linux的常用命令82 ARM体系结构介绍142.1 ARM体系结构的发展142.2 ARM处理器简介152.2.1 ARM7处理器系列1
2、52.2.2 ARM9处理器系列152.2.3 ARM9E处理器系列152.2.4 ARM11处理器162.2.5 Cortex处理器162.3 s3c2440主要特性162.4 s3c2440存储器控制器172.4.1 S3C2440存储控制器特性172.4.2 SDRAM原理分析192.4.3 FLASH193 Bootloader原理分析和移植213.1 Bootloader概述213.2 Bootloader功能213.3 常用Bootloader223.4.Uboot移植实现223.4.1 建立交叉编译环境223.4.2 分析U-boot目录结构243.4.3 uboot编译方法25
3、4 操作系统内核的的移植264.1 Linux内核的作用264.2 Linux内核的目录结构274.3 内核文件类型284.3.1 Makefile284.3.2 .config294.3.3 kconfig294.4 配置工具294.5 Linux内核启动过程314.5.1 汇编代码执行阶段314.5.2 c 语言代码阶段314.6移植最小内核335文件系统分析与制作385.1 文件系统概述385.1.1嵌入式文件系统介绍385.1.2基于FLASH的文件系统385.2 文件系统目录结构405.3 配置编译busy-box425.3.1 busybox简介425.3.2 安装busybox4
4、25.4 制作yaffs根文件系统435.4.1 构建框架435.4.2 添加内容446 内核驱动456.1 设备驱动程序的概述456.2设备驱动程序的功能456.3设备驱动程序的结构456.4 设备驱动程序开发过程466.4.1设备驱动程序的开发流程466.4.2 模块化驱动程序设计476.5 串口驱动移植486.6 LCD驱动移植49结 论54致谢55参考文献56基于S3C2440的Linux操作系统移植摘要随着电子产业的发展和智能时代的到来,嵌入式产品以其个性化定制的特点已经深入发展到各个领域。操作系统嵌入式设计流程的重要环节,在安装操作系统后,电子产品就能像电脑一样运行各种软件,完成复
5、杂的功能。本课题研究的是将Linux系统移植到S3C2440的TQ2440开发板上,本文前两章介绍Linux操作系统、ARM体系结构的基础知识,以及系统开发工具,操作命令,交叉编译器,并且建立开发环境。之后几章分别介绍嵌入式开发的几个主要流程,包括Bootloader、内核、文件系统、驱动。将Uboot移植到tq2440上,然后移植最小系统,使开发板能够正常启动,最后是构建根文件系统、在内核中加入串口、LCD驱动,这样就可以建立一个完整的嵌入式系统,本文除了理论基础知识的讲解还有具体的操作,系统的完成了嵌入式设计的开发流程。关键词:S3C2440; Linux; 内核移植; 驱动THE LIN
6、UX OPERATING SYSTEM BASED ON S3C2440 RASPLANTATIONAbstractWith the development of electronic industry and intelligent era, embedded products with the characteristics of personalized customization has been developed into various areas. An important part of embedded operating system design process, in
7、 the installation of the operating system, electronic products can be like a computer running software, complete the complex function.This research is the TQ2440 development board Linux system porting to S3C2440, basic knowledge of the first two chapters introduced the Linux operating system, ARM sy
8、stem structure, as well as the system development tool, operation command, compiler, and the establishment of the development environment. After a few chapter introduces several main process of embedded software, including Bootloader, kernel, file system, drive. Porting Uboot to TQ2440, and then tra
9、nsplanted the minimum system, make the development board can be a normal start, finally Gou Jiangen file system, adding serial, LCD is in the kernel driver, so you can build up a complete embedded system, in addition to this theory to explain the basic knowledge and specific operation, the system co
10、mpleted the embedded design development process.Keywords: S3C2440; Linux; kernel porting; driver.前 言通信网络技术和集成电路设计的高速发展使嵌入式系统已成为了IT业的一个焦点。回顾嵌入式技术的发展过程,早期的嵌入式系统被认为是人们熟知的单片机。通常,这种系统以8位或6位MCU为核心,适合一些简单的传感器,伺服控制,显示设备等,实现一定的测量,信息处理,自动控制和显示功能。系统的组网通常利用CAN、RS-232等总线方式,通信协议比较单一,一般孤立于Internet之外。随着嵌入式与网络技术的结合,
11、手机、PDA、路由器、Modem等复杂的高端嵌入式应用不断涌现,这使得人们需要设计更加复杂的嵌入式系统。这种需求推动了微电子技术地发展,使得32位处理器被广泛使用,这种处理器可以方便的运行嵌入式操作系统;而基于嵌入式操作系统,人们又可以开发复杂度更高的嵌入式软件,嵌入式技术的发展趋势包括行业标准化、SOC成为应用主流、嵌入式开发工具更加强大、嵌入式软件的复杂度越来越高、面向网络的嵌入式系统成为必然、建立嵌入式计算的新型模型等若干方面。嵌入式Linux在嵌入式领域发展迅速、需求旺盛,但是嵌入式Linux的人门很难,相对于嵌入式常识的匮乏更大的困难是缺乏完善的知识结构:只了解硬件或者是只了解软件,
12、对于有志于从事底层系统开发需要,应该改造Bootloader、专研内核、为新硬件编写驱动程序的,对于想从上层软件转到底层软件开发的人,应该看懂电路原理图,看得芯片数据手册,清楚的知道软件是怎样和硬件发生作用。总之嵌入式是一门实践性很强的学科,学习不应该局限书本,书本只是辅助资料,只有不断地检测硬件调试程序才能掌握这门技术。由于Linux的开源和可移植性高的特性,以及ARM处理器,性能好价格低廉的特点,本文将会在S3C2440的tq2440上进行系统移植,主要包括:嵌入式系统Linux介绍、Bootloader原理分析和移植、操作系统内核的移植、文件系统的分析和制作、内核驱动。1 嵌入式linu
13、x简介本课题移植的是Linux操作系统内核,这里简单介绍Linux的特点,以及开发平台的建立使用。1.1 linux发展概述20世纪60年代时,大部分计算机都是采用批处理的方式。为了改变这种现状,美国电报及电话公司(AT&T),通用电器公司(GE)及麻省理工学院(MIT)计划合作开发一个多用途,及时及多用户的操作系统,也就是MUTICS.但是由于项目太过复杂,几年下来几乎没有取得任何成果,1969年贝尔实验室退出这个项目。但是贝尔实验室的有个工程师Ken Thompson为了让他的游戏运行快一点。找来一位天才工程师Dennis Ritchie,他们用汇编语言写了一个简单的操作系统Unics。1
14、973年两人发现用汇编语言移植过于困难,先后用B,C语言重写了UNIX,1978年伯克利大学,在UNIX上进行改进,推出了自己的UNIX.同时AT&T公司成立了USG将UNIX变成商品化的产品。这种商业态度,让当时许多UNIX爱好者和软件开发者感到痛心疾首和忧虑,他们觉得这种限制不利于产品的长期发展,于是一个叫做Richard Stallman的领军人物站了出来,他倡导开源概念,认为如果大家能将自己所学贡献出来,这个系统会更加优秀,之后他创立GUN,开发了一套与UNIX兼容的软件,然后又创立自由软件基金会(FSF)为GUN计划提供技术,法律以及财政支持。自20世纪90年代以来,GUN计划开始大
15、量生产或收集各种系统所必备的主件,比如函数库,变压器,调试工具,文本编辑器,网站服务器,以及一个UNIX的使用者接口。由于种种原因,GUN一直没有开发出内核,直到1991年linux内核才真正出现。之后越来越多的计算机爱好者,程序员通过网络,社区,邮件,论坛参与到linux系统的不断完善中。1.2 linux的优点(1) 低成本开发系统因为linux的代码是开源的,任何人都可以免费使用和修改。这样不仅降低了成本而且提高产品开发的效率。(2) 可用于多种处理器平台Linux可支持X86、 PowerPC、 ARM XSCALE、 MIPS 、DSP、FGPA等多种体系结构,并且已经被移植到多种硬
16、件平台。这对于受时间限制,经费的研究与项目开发是很有帮助的、Linux采用统一的标准对硬件进行管理,应用层屏蔽系统层,系统层的改动与平台改动有关,于应用无关。(3) 可定制内核Linux具有独特的内核模块动态裁剪机制,它可以根据用户的需求,实时的将某些模块插入或者删除内核,实现动态的的改变。裁剪后的内核最小可达到150KB以下,适合嵌入式项目中对系统资源有要求的情况。在2.6内核中加入了许多嵌入式个性化选项,如构建用于不需要用户界面的设备的小占板面积内核选项。(4) 性能优异Linux系统内核精简,用于网站服务器高效而且稳定稳定,能够充分发挥硬件的功能,用于个人计算机,功能丰富,界面友好易操作
17、,因此它比其它操作系统的运行效率更高。(5) 良好的网络支持Linux是第一个实现TCP/IP协议栈的操作系统,它有完整支持网络的内核结构,并提供了包括10GB,100GB以及1000GB的以太网,还有Token Ring,无线网络和光纤甚至卫星的支持。大大满足了如今嵌入式设备对网络功能的需求。1.3 Linux 应用领域(1) Internet/Intranet:这是目前Linux用得最多的一项,它可提供包括Web服务器、Gopher服务器、FTP服务器、SMTP/POP3邮件服务器、DNS服务器、Proxy/Cache服务器等全部Internet服务。Linux内核支持IPalias、PP
18、P和IPtunneling,这些功能可用于建立虚拟服务、VPN(虚拟专用网) 、虚拟主机等。主要运行于Linux之上的ApacheWeb服务器。(2) 由于Linux拥有优秀的网络功能,因此它可用于大型分布式服务,如动画制作、数据库及文件服务器科学计算等。 (3) 作为可在低平台下运行的Unix的完整(且免费)的实现,广泛应用于各级院校的教学和科研工作,如墨西哥政府已经宣布在全国的所有中小学配置Linux并为学生提供Internet服务。(4) 桌面和办公应用。目前这方面的应用微软Windows使用人数很多,其原因一方面在于Linux桌面应用软件的数量远不如Windows应用,另一方面也因为自
19、由软件的特性使得其几乎没有广告支持(虽然StarOffice的功能并不亚于MS Office,但知道的人并不多)。如今,通常可以通过两个途径获得Linux的发行版:直接从Internet下载,例如RedHat站点:;更为方便的方法是购买Linux发行商推出的CD-ROM,这样不仅可以节省下载的时间和费用,还可以使用CD-ROM直接启动快速安装,并且CD-ROM上往往还包括非常庞大的应用软件集(多达数百兆),包括各种服务器软件、X-Window、桌面应用、数据库、编程语言、文档等,安装和使用都非常方便。 1.4 Linux系统安装1.4.1 虚拟机安装虚拟机指通过软件模拟的具有硬件系统功能的,运
20、行在一个完全隔离环境中的完整计算机系统。目前流行的虚拟机软件是VMware,VirtualBox和VirualPC,他们都能在Wondows系统上虚拟个计算机。本课程安装的是VMware Workstatian6.5,安装步骤如下:(1) 双击下载好的VMware Workstatian6.5软件打开安装程序,如图1.1:图1.1 虚拟机安装界面(2) 进入图1.2所示界面。图1.2 选择典型安装(3) 选择next,进入安装界面,如图图1.3:图1.3 安装进度(4) 安装完成后,输入序列号。(5) 选择“重新启动计算机按钮”。(6) 到这里虚拟机安装完成,工作界面如图1.4:图1.4 安装
21、完成界面1.4 .2 Linux安装启动虚拟机后接着就是安装Linux系统,本课题选择的是安装Fedora10。(1) 打开虚拟机选择要安装的系统文件如图1.5:图1.5 Fedora安装文件(2) 设置虚拟机内存和网络。(3) 进入分区设置界面,挂载硬盘。(4) 进入系统安装软件界面,将系统自带的软件安装齐全,如图1.6:图1.6 系统自带软件安装(5) 软件安装之后经过一段时间的等待系统会自动安装完成。如图1.7:图1.7系统自动安装进度(6) 安装完成后,登陆配置网络。并安装虚拟机工具。(7) 在windows中新建两个文件,设置与Linux交互目录。1.5 Linux常用工具1.5.1
22、 文本编辑器(1) gedit图形化文本编辑器Gedit是一个图形化文本编辑器,像Windows中的记事本文件一样可以打开、编写并保存文本文件。还可以将其他图形化桌面程序中的文本剪切和粘贴到编辑器中。Gedit有一个清晰而又通俗易懂的界面,使用活页标签,因此可以不必同时打开多个文件打开多个gedit窗口。(2) 文本编辑器vi在Linux操作系统中,如果不使用图形化的桌面,读取并修改某个文件或配置文件,可以使用vi编辑器来创建文本文档、书写脚本、编辑文本;另外,vi编辑器的文本模式查找功能比gedit命令更加强大,它可以在日志文件中以精确的方式查找信息,并且Linux安装程序会自动安装附带的v
23、i编辑器。几乎所有的Linux用户和系统管理员都使用vi编辑器完成自己的而工作。因为vi编辑器不是图形化的软件,所以一定程度上受到了其他文本编辑器的挑战。但是vi编辑器出色的灵活性和强大的功能使它得以广泛应用。1.5.2 软件包管理Linux 系统上的所有软件部分成可安装、升级或删除的RPM软件包。这部分描述了如何使用图形化和命令行工具来管理Red Hat Linux系统上的RPM软件包。RPM软件包管理器是开放打包系统,任何人都可以使用。它在Linux和UNIX系统上运行。RedHat,Inc.鼓励其他销售商在他们自己的产品上使用RPM技术。 对于终端用户来说,RPM简化了系统更新。安装、删
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 S3C2440 Linux 操作系统 移植 本科 毕业设计 论文 50
限制150内