摘要linux操作系统在ARM平台上的移植结业论文rn__中学生结业论文__(2012届)______诚信申明____我申明,所呈交的结业论文是本人在老师指导下进行的研究工作及取得的研究成果。据我核实,不仅文中非常加以标明和致谢的地方外,论文中不包含其他人早已发表或撰写过的研究成果,我承诺,论文中的所有内容均真实、可信。____结业论文作者签名:签名日期:年月日______摘要在ARM平台上移植linux操作系统作为实现设备大型化、智能化的一个重要元素,目前己经广泛应用于国防、工业、交通、能源、信息技术以及日常生活等各个领域linux设置环境变量,研究和开发linux操作系统在ARM平台上的移植具有重要的现实意义。本文主要介绍了将公开源代码的linux333内核移植到S3C6410(arm1172核)的关键技术剖析以及具体的移植过程,构建嵌入式Linux交叉开发环境_移植BootLoader引导程序_配置、编译、移植Linux内核_制做文件系统并对文件系统进行移植到开发板。我们可以按照内核所支持的文件系统类型制做文件系统本论文选择制做yaffs文件系统并移植。而且vim_arm-linux-gcc开发环境下设计了一个简单的测试程序。
另外,基于此平台的开发也将使软件缺陷大幅度降低,进而为程序员开发此平台上进行二次开发。____关键词系统移植;BootLoader;S3C6410;Linux333______AbstractintheARMplatformtransplantLinuxoperatingsystemasrealizeminiaturization_intelligentequipmentanimportantelementof_atpresenthasbeenwidelyusedinnationaldefense_industrial_transportation_energyresources_informationtechnologyanddailylife_andotherfields_researchanddevelopmentandLinuxoperatingsystemintheARMplatformoftransplantationhastheimportantpracticalsignificanceThispapermainlyintroducedtothepublicinsourcecodelinux333kerneltransplantedtoS3C6410arm1172ofthekeytechnicalanalysisandspecifictransplantprocess_eastablishembeddedLinuxcrossdevelopmentenvironment_transplantBootLoaderboot_configuration_compilation_transplantLinuxkernel_andmakingthefilesystemandthefilesystemtransplanttodevelopmentboardWecanaccordingtothesupportofthekernelfilesystemtypemakingfilesystemthispaperyaffsselectfilesystemandtransplantationAndvim_arm-Linux-GCCdevelopmentenvironmentdesignasimpletestproceduresInaddition_basedonthisplatformwillalsomakethedevelopmentofsoftwaredefectgreatlyreduced_andthusforprogrammersdevelopmentthisplatformsecondarydevelopment____KeywordssystemtransplantationBootLoaderS3C6410Linux333____目录____1总论____11课题研究的背景、目的和意义__随着各类芯片技术的发展,各类嵌入式产品也如雪后莴笋通常地出现了。
目前,嵌入式产品应用领域涉及联通通讯、汽车、医疗、家电等好多领域。并且,现在的嵌入式硬件的速率和容量越来越接近于PC,因而在这种嵌入式产品上运行操作系统就成为了可能。仍然以来,好多企业耗费了巨大成本研制了大量运行在PC上的软件产品。假如将这种优秀的软件应用在嵌入式系统中,将会成为快速开发嵌入式系统,减少嵌入式产品开发成本,提升软件稳定性和安全性的重要途径。__论文课题的主要研究目的是在以S3C6410(ARM1176核)微处理器为核心的硬件平台上,搭建通用的嵌入式Linux(使用的内核是333版本的)软件开发平台,便于在其上做二次开发。__系统地研究嵌入式Linux系统的移植有很大的现实意义。首先,可以降低对S3C6410以微处理器、内置外设以及系统扩充的了解,有助于将来的嵌入式学习。其次,可以熟悉嵌入式软件系统移植的整个过程,对该过程有整体上的掌握,对后续的嵌入式系统开发有指导性意义。最后,通过该研究过程可以建立较新版的软件系统,实现更好的系统性能,最重要的是可以在实践基础上降低对系统移植理论的理解并积累丰富的系统移植经验,为后续的嵌入式应用开发打下坚实的基础。____12嵌入式系统现况及发展趋势__计算机、互联网技术的应用与普及,以及微电子技术的突破,正有力促进着二十一世纪工业生产、商业活动、科学实验和家庭生活等领域的手动化和信息化进程。
全过程手动化的产品制造、大范围的电子商务活动、高度协同的科学实验以及现代化家庭起居,为嵌入式产品缔造了崭新而巨大的商机,市场前景十分宽广。目前嵌入式系统每年全球的工业产量渐趋降低。____122嵌入式系统的特征及发展趋势__嵌入式设备能与用户亲昵接触,最重要的诱因就是它能提供特别友好的用户界面、图形界面和灵活的控制方法。这就要求嵌入式软件设计者要在图形界面、多媒体技术上多下工夫(这样可以使顾客更轻松便捷的使用嵌入式产品)。____我国国外的嵌入式软件市场已处于整体启动阶段。国外嵌入式软件市场未来的发展重点在于对应用范围的拓展。随着Internet的发展以及Internet技术在信息电器、工业控制技术等领域的应用,嵌入式系统与Internet的结合将代表着嵌入式技术的真正未来。____13论文的主要工作__本课题以S3C6410为核心的ARM11开发板为硬件开发平台,在此基础上,实现嵌入式Linux系统的移植。其源码全部来自Internet,在了解了系统移植方式并做了大量的工程实践的基础上,从无到有的构建了一个可用的嵌入式Linux系统,包括移植了功能较强的BootLoader、2012年4月刚出版的Linux33版本内核。
其移植过程不脱离通常性,但因具体开发环境的不同,移植过程中会涉及到好多具体问题。__论文的主要工作__l构建嵌入式Linux交叉开发环境__对于嵌入式系统,目标板通常只有很小的储存空间,处理器频度也较低。直接在这样的硬件上构建Linux系统十分困难。嵌入式Linux交叉开发环境可以挺好地解决这个困局,即实现在PC机上编译嵌入式系统要运行的程序。__2移植BootLoader引导程序__嵌入式Linux内核一般须要目标板上的引导程序引导来引导内核的启动。这种引导程序就是BootLoader。BootLoader在目标板上电的时侯运行,主要完成板级初始化和Linux内核引导的任务。因为BootLoder和CPU及电路板的配置相__关,不可能有通用的BootLoader,开发时须要依照具体情况进行移植。U-boot是一种通用的BootLoader,本文就是通过U-boot来引导的。__3配置、编译、移植Linux内核__详尽剖析了Linux移植的要点,并对目前较新的333版Linux内核源码进行了移植、配置和编译。__4制做文件系统并对文件系统进行移植到开发板。我们可以依据内核所支持的文件系统类型制做文件系统本论文选择制做yaffs文件系统并移植。
____2嵌入式Linux系统构成和软件开发环境____进行嵌入式操作系统以及驱动程序的移植,须要对目标硬件平台和软件结构有深入的理解。本章介绍嵌入式Linux系统的体系结构、硬件平台构成和嵌入式软件开发环境。____21嵌入式Linux系统的体系结构__不仅硬件系统外,嵌入式Linux系统须要有下边三个基本元素系统引导程序BootLoader用于设备加电后的系统定位引导、Linux微内核显存管理、程序管理、初始化进程。但若果要它成为完整的操作系统并继续保持大型化还必须加上硬件驱动程序、硬件插口程序和应用程序组。最终可用的嵌入式Linux系统体系结构如表所示:__表2-1嵌入式Linux系统体系结构____硬件层是系统的基础,所有软件都构建在它的基础上,系统层的BootLoader是嵌入式系统软件的最底层,是上电后运行的第一个程序,类似于PC机上的BIOS,完成对硬件的初始化和内核加载,驱动程序作为系统内核的一部份,实现__操作系统内核和硬件设备之间的插口,为应用程序屏蔽硬件的细节,系统内核主要完成任务管理arm 处理器 linux 移植,调度算法等,GUI图形支持库实现对硬件的具象、提供基本的图形插口函数和与用户实现交互,而应用软件拿来实现某一具体功能。
__22嵌入式Linux系统硬件平台__221S3C6410A处理器简介__S3C6410是一个1632位RISC微处理器linux教程,借以提供一个具有成本效益、功耗低,性能高的应用处理器解决方案,像联通电话和通常的应用。它为25G和3G通讯服务提供优化的HW性能,S3C6410采用了6432位内部总线构架。该6432位内部总线结构由AXI、AHB和APB总线组成。它还包括许多强悍的硬件加速器,像视频处理,音频处理,二维图形,显示操作和缩放。一个集成的多格式编解码器(MFC)支持MPEGMPEG44HH263263263HH264264编码、译码以及VC1的解码。这个HW编码器解码器支持实时视频大会和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位访问;__48个地址空间中,6个地址空间可以用于ROM、SRAM等储存器,2个用于ROM、SRAM、SDRAM等储存器;__57个地址空间的起始地址及空间大小是固定的;__61个地址空间的起始地址和空间大小是可变的;__7所有储存器空间的访问周期都可以通过编程配置;__8提供外部扩充总线的等待周期;__9SDRAM支持手动刷新和掉电模式。__222硬件系统整体结构__本论文采用的硬件平台由底板和核心板组成,核心板上使用了SAMSUNG公司的S3C6410A处理器arm 处理器 linux 移植,并集成了SDRAM,NANDFlash储存设备以及核心电流模块、实时时钟、系统尾纤、系统时钟、核心板插口等;底板上提供了丰富的外设接__