您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > linux操作系统在ARM平台上的移植-毕业论文
学生毕业论文(2012届)题目(中文)LINUX操作系统在ARM上的移植(英文)TransplantationoftheLINUXoperatingsystemonARM系别:物理与电子工程系专业:电气工程及其自动化班级:姓名:学号:指导教师:II诚信声明我声明,所呈交的毕业论文是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,我承诺,论文中的所有内容均真实、可信。毕业论文作者签名:签名日期:年月日II摘要:在ARM平台上移植linux操作系统作为实现设备小型化、智能化的一个重要元素,目前己经广泛应用于国防、工业、交通、能源、信息技术以及日常生活等各个领域,研究和开发linux操作系统在ARM平台上的移植具有重要的现实意义。本文主要介绍了将公开源代码的linux3.3.3内核移植到S3C6410(arm1172核)的关键技术分析以及具体的移植过程,建立嵌入式Linux交叉开发环境,移植BootLoader引导程序,配置、编译、移植Linux内核,制作文件系统并对文件系统进行移植到开发板。我们可以根据内核所支持的文件系统类型制作文件系统本论文选择制作yaffs文件系统并移植。并且vim,arm-linux-gcc开发环境下设计了一个简单的测试程序。另外,基于此平台的开发也将使软件缺陷大幅度减少,从而为程序员开发此平台上进行二次开发。关键词:系统移植;BootLoader;S3C6410;Linux3.3.3IIAbstract:intheARMplatformtransplantLinuxoperatingsystemasrealizeminiaturization,intelligentequipmentanimportantelementof,atpresenthasbeenwidelyusedinnationaldefense,industrial,transportation,energyresources,informationtechnologyanddailylife,andotherfields,researchanddevelopmentandLinuxoperatingsystemintheARMplatformoftransplantationhastheimportantpracticalsignificance.Thispapermainlyintroducedtothepublicinsourcecodelinux3.3.3kerneltransplantedtoS3C6410(arm1172)ofthekeytechnicalanalysisandspecifictransplantprocess,eastablishembeddedLinuxcrossdevelopmentenvironment,transplantBootLoaderboot,configuration,compilation,transplantLinuxkernel,andmakingthefilesystemandthefilesystemtransplanttodevelopmentboard.Wecanaccordingtothesupportofthekernelfilesystemtypemakingfilesystemthispaperyaffsselectfilesystemandtransplantation.Andvim,arm-Linux-GCCdevelopmentenvironmentdesignasimpletestprocedures.Inaddition,basedonthisplatformwillalsomakethedevelopmentofsoftwaredefectgreatlyreduced,andthusforprogrammersdevelopmentthisplatformsecondarydevelopment.IIKeywords:systemtransplantation;BootLoader;S3C6410;Linux3.3.3目录11绪论1.1课题研究的背景、目的和意义随着各种芯片技术的发展,各种嵌入式产品也如雨后春笋一般地出现了。目前,嵌入式产品应用领域涉及移动通信、汽车、医疗、家电等很多领域。而且,如今的嵌入式硬件的速度和容量越来越接近于PC,因此在这些嵌入式产品上运行操作系统就成为了可能。一直以来,很多企业花费了巨大成本研发了大量运行在PC上的软件产品。如果将这些优秀的软件应用在嵌入式系统中,将会成为快速开发嵌入式系统,降低嵌入式产品开发成本,提高软件稳定性和安全性的重要途径。论文课题的主要研究目的是:在以S3C6410(ARM1176核)微处理器为核心的硬件平台上,搭建通用的嵌入式Linux(使用的内核是3.3.3版本的)软件开发平台,以便在其上做二次开发。系统地研究嵌入式Linux系统的移植有很大的现实意义。首先,可以增加对S3C6410以微处理器、内置外设以及系统扩展的了解,有助于将来的嵌入式学习。其次,可以熟悉嵌入式软件系统移植的整个过程,对该过程有整体上的把握,对后续的嵌入式系统开发有指导性意义。最后,通过该研究过程可以构建较新版的软件系统,实现更好的系统性能,最重要的是可以在实践基础上增加对系统移植理论的理解并积累丰富的系统移植经验,为后续的嵌入式应用开发打下坚实的基础。1.2嵌入式系统现状及发展趋势计算机、互联网技术的应用与普及,以及微电子技术的突破,正有力推动着二十一世纪工业生产、商业活动、科学实验和家庭生活等领域的自动化和信息化进程。全过程自动化的产品制造、大范围的电子商务活动、高度协同的科学实验以及现代化家庭起居,为嵌入式产品造就了崭新而巨大的商机,市场前景非常广阔。目前嵌入式系统每年全球的工业产值日益增加。1.2.2嵌入式系统的特点及发展趋势嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面、图形界面和灵活的控制方式。这就要求嵌入式软件设计者要在图形界面、多媒体技术上多下功夫(这样可以使客户更轻松方便的使用嵌入式产品)。我国国内的嵌入式软件市场已处于整体启动阶段。国内嵌入式软件市场未来的发展重点在于对应用范围的拓展。随着Internet的发展以及Internet技术在信息家电、工业控制技术等领域的应用,嵌入式系统与Internet的结合将代表着嵌入式技术的真正未来。1.3论文的主要工作本课题以S3C6410为核心的ARM11开发板为硬件开发平台,在此基础上,实现嵌入式Linux系统的移植。其源码全部来自Internet,在了解了系统移植方法并做了大量的工程实践的基础上,从无到有的建立了一个可用的嵌入式Linux系统,包括移植了功能较强的BootLoader、2012年4月刚出版的Linux3.3版本内核。其移植过程不脱离一般性,但因具体开发环境的不同,移植过程中会涉及到很多具体问题。论文的主要工作:l)建立嵌入式Linux交叉开发环境对于嵌入式系统,目标板一般只有很小的存储空间,处理器频率也较低。直接在这样的硬件上建立Linux系统非常困难。嵌入式Linux交叉开发环境可以很好地解决这个难题,即实现在PC机上编译嵌入式系统要运行的程序。2)移植BootLoader引导程序嵌入式Linux内核通常需要目标板上的引导程序引导来引导内核的启动。这些引导程序就是BootLoader。BootLoader在目标板上电的时候运行,主要完成板级初始化和Linux内核引导的任务。由于BootLoder和CPU及电路板的配置相关,不可能有通用的BootLoader,开发时需要根据具体情况进行移植。U-boot是一种通用的BootLoader,本文就是通过U-boot来引导的。3)配置、编译、移植Linux内核详细分析了Linux移植的要点,并对目前较新的3.3.3版Linux内核源码进行了移植、配置和编译。4)制作文件系统并对文件系统进行移植到开发板。我们可以根据内核所支持的文件系统类型制作文件系统本论文选择制作yaffs文件系统并移植。2嵌入式Linux系统构成和软件开发环境进行嵌入式操作系统以及驱动程序的移植,需要对目标硬件平台和软件结构有深入的理解。本章介绍嵌入式Linux系统的体系结构、硬件平台构成和嵌入式软件开发环境。2.1嵌入式Linux系统的体系结构除了硬件系统外,嵌入式Linux系统需要有下面三个基本元素:系统引导程序BootLoader(用于设备加电后的系统定位引导)、Linux微内核(内存管理、程序管理)、初始化进程。但如果要它成为完整的操作系统并继续保持小型化还必须加上硬件驱动程序、硬件接口程序和应用程序组。最终可用的嵌入式Linux系统体系结构如表所示:表2-1嵌入式Linux系统体系结构应用软件应用层BOOTLOADER、LINUXKERNEL、DRIVERS系统层嵌入式开发板实验板(本论文使用SAMSUNGS3C6410)硬件层硬件层是系统的基础,所有软件都建立在它的基础上,系统层的BootLoader是嵌入式系统软件的最底层,是上电后运行的第一个程序,类似于PC机上的BIOS,完成对硬件的初始化和内核加载,驱动程序作为系统内核的一部分,实现操作系统内核和硬件设备之间的接口,为应用程序屏蔽硬件的细节,系统内核主要完成任务管理,调度算法等,GUI图形支持库实现对硬件的抽象、提供基本的图形接口函数和与用户实现交互,而应用软件用来实现某一具体功能。2.2嵌入式Linux系统硬件平台2.2.1S3C6410A处理器简介S3C6410是一个16/32位RISC微处理器,旨在提供一个具有成本效益、功耗低,性能高的应用处理器解决方案,像移动电话和一般的应用。它为2.5G和3G通信服务提供优化的H/W性能,S3C6410采用了64/32位内部总线架构。该64/32位内部总线结构由AXI、AHB和APB总线组成。它还包括许多强大的硬件加速器,像视频处理,音频处理,二维图形,显示操作和缩放。一个集成的多格式编解码器(MFC)支持MPEG4/H.263/H.264编码、译码以及VC1的解码。这个H/W编码器/解码器支持实时视频会议和NTSC、PAL模式的TV输出。存储控制器S3C6410存储器包括七个存储控制器,一个SROM控制器,两个OneNAND控制器,一个NAND闪存控制器,一个CF控制器,和两个DRAM控制器。通过使用EBI,静态存储控制器和16位DRAM控制器共享存储器端口0。1)支持大、小端模式(通过软件选择);2)地址空间:包含8个地址空间,每个地址空间的大小为128M字节,总共有lG字节的地址空间;3)除BANKO以外的所有地址空间都可以通过编程设置为8位、16位或32位访问。BANKO可以设置为16位、32位访问;4)8个地址空间中,6个地址空间可以用于ROM、SRAM等存储器,2个用于ROM、SRAM、SDRAM等存储器;5)7个地址空间的起始地址及空间大小是固定的;6)1个地址空间的起始地址和空间大小是可变的;7)所有存储器空间的访问周期都可以通过编程配置;8)提供外部扩展总线的等待周期;9)SDRAM支持自动刷新和掉电模式。2.2.2硬件系统整体结构本论文采用的硬件平台由底板和核心板组成,核心板上使用了SAMSUNG公司的S3C6410A处理器,并集成了SDRAM,NANDFlash存储设备以及核心电压模块、实时时钟、系统跳线、系统时钟、核心板接口等;底板上提供了丰富的外设接口:dm90O00A以太网卡接口、2个与PC机通信的UART(10M/100M)、l个LCD接口、触摸屏接口、128KB的NORFlash存储芯片、SD接口、IDE接口及USB接口等。核心板和底板配合即构成了一个完整的硬件系统,它能够装载和运行嵌入式Linux操作系统。也可以运行基于ARM核的其它操作系统。图2-1配置交叉编译器P
本文标题:linux操作系统在ARM平台上的移植-毕业论文
链接地址:https://www.777doc.com/doc-5855915 .html