ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:1,020.50KB ,
资源ID:18894649      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18894649.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ARM平台的Lniux系统移植毕业设计论文Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ARM平台的Lniux系统移植毕业设计论文Word下载.docx

1、嵌入式处理器种类繁多,要是嵌入式Linux系统在各个领域得到广泛应用,就必须把嵌入式系统移植到各种处理器平台上。ARM平台是目前应用十分广泛的处理器体系结构,自然也是嵌入式Linux系统移植的一个重点。本论文主要是设计与实现了Bootloader和Linux在S3C2410平台上的移植。主要完成的工作包括在开发板上完成创建交叉编译环境、Uboot移植、Linux内核移植和文件系统移植。通过以上步骤,成功实现了Linux在硬件平台在S3C2410开发板上的运行。同时运行简单程序,用来测试系统,包括声卡,视频,LCD,网卡等。关键词 :嵌入式系统 ,Linux,ARM ,bootloader ,系

2、统移植AbstractWith the development of the computer technology, communication technology and the in-depth application of the Intemet, more and more embedded systems are running around USAnd because of the increasing complexity of the embedded systems,the embedded operating system has become the most imp

3、ortant part of the embedded systemIn all kinds of embedded operating systems,Linux has the advantages of clear structure and open source,SO it has been widely used in the embedded system based on monitoring system and PDABecause there are many kinds of processor, porting Linux to a processor is the

4、first step of using Linux in embedded area extensivelyAmong the main embedded processors,ARM is the main stream which used broadlyThis thesis is the design and implementation of the Bootloader and Linux porting on S3C2410 platform. Main work includes the completion of the development board to create

5、 a cross -compiler environment , Uboot transplant , Linux kernel porting and file system migration . Through the above steps , the success achieved in the hardware platform running Linux S3C2410 development board. While running a simple program to test systems, including audio, video, LCD, network c

6、ards.Keywords : Embedded system, Linux, ARM, Bootloader, System transplantation前言随着科技与信息技术的快速发展,基于嵌入式设备的操作系统有了长足的发展,并且广泛地应用于工业控制,安防监控,环境检测,医疗,航天航空,军事等领域。目前,主要应用于嵌入式的有以下几种操作系统。Windows CE是微软为了争夺嵌入式市场而推出的一款嵌入式操作系统,虽然windows应用程序很容易就能移植到该系统上,但是该系统不开源,存在安全问题而且系统升级比较慢(在windows电脑升级的时候大家都感受过吧);Vxworks操作系统该系统

7、偏向于实时性,仅支持四种文件系统,而且该系统还是收费的,所以不适合搭载通用计算机上的应用程序;嵌入式linux系统是一种开放源代码的系统,不存在黑箱技术,由全球的从多的linux的爱好者和linux开发者提供支持和维护,支持多种硬件平台,而且性能稳定,裁剪性好,开放使用都很容易。本课题中考虑到嵌入式系统的安全性以及幵放的难易程度,选择嵌入式linux操作系统,初步实现操作系统的一般功能和简单程序运行,应用程序的幵发功能,至于完善操作系统的特殊功能将在以后的学习或工作中进行更深入的研究。该论文第一章简单介绍背景和发展;第二章介绍系统分析;第三章介绍了linux 系统移植;第三章嵌入式系统移植的实

8、现,包括内核;第四章根文件移植;第五章设备驱动的移植。第一章 嵌入式技术概况所谓嵌入式系统是指以应用为中心、以计算机技术为基础、软硬件可裁减、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系。这一类系统里面运行的程序能够自动控制和管理设备,有的甚至具有自适应能力,有着高度的智能,因而这种技术具有极其广泛的应用价值。我们日常生活中的MP3音乐播放器,PDA,当下领导手机市场的安卓智能手机,酒店点菜系统,KTV点歌系统,车载GPS系统,探测火星的机器人等等都可称作嵌入式系统产品。可以说,嵌入式系统具有无限优越的应用前景。1.1背景介绍随着嵌入式计算技术的飞速发展,嵌入式系统已经应

9、用到人类社会和日常生活的各个领域。从冰箱、洗衣机到航天飞机、神州系列飞船,处处都存在着嵌入式计算机系统的应用。嵌入式系统的研究与开发己经成为现代电子设计的一大领域和方向。据统计,在现在所使用的操作系统中,95以上都是嵌入式计算机系统,而并非通用的桌面计算机系统。嵌入式系统的最大特点是其所具有的目的性或针对性,即一套嵌入式系统的开发设计都有其特殊的应用场合和特定功能,这就是嵌入式系统与通用的计算机系统的主要区别。另外,嵌入式技术与实时性有着天然的联系:由于嵌入式系统是为特定的目的而设计的,且常常受到空间、成本、存储、带宽等条件的限制,因此它必须最大限度地在硬件上和软件上“量身定做以提高效率,这样

10、的结果最终导致来实时性的增强。目前,使用最多的嵌入式操作系统产品主要有:Vxwork、QNX、PalmOS、WindowsCE、pSOS、HopenOS、DeltaOS等。但这些专用的、商业化的嵌入式操作系统,价格昂贵,对于中、下规模的软件开发公司无力支付操作系统的使用费用。而且,具有商业版权的操作系统,其源代码的封闭性也大大限制了应用软件开发者的积极性。对于广泛的嵌入式系统软件开发人员来说,精简的、界面友好的、性能可靠的、开源的、易开发、多任务且价格低廉的嵌入式操作系统,才是理想的嵌入式软件开发环境。ARM是Advanced RISC Machines的缩写,由英国Advanced RISC

11、 Machines (ARM) Limited公司设计。ARM 32位体系结构目前被公认为是业界领先的32位嵌入式RISC微处理器结构,所有ARM处理器共享这一体系结构,可确保当开发者转向更高性能的ARM处理器时,在软件开发上可获得最大的回报。ARM芯片具有RISC系统的一般特点,如:具有大量的寄存器,绝大多数操作数都在寄存器中进行,通过LoadStore的体系结构在内存和寄存器之间传递数据,寻址方式简单;采用固定长度的指令格式等等。根据内核的不同,ARM处理器分为ARM7,ARM9,ARM9E,ARMl0,SecurCore,Intel的Xscal,Intel的StrongARM等。这些处理

12、器最高主频达到了800MIPS,功耗数量级为MwMHz。对于支持同样ARM体系版本的处理器,其软件是兼容的。现在这些处理器广泛应用于开发应用平台、实时嵌入式应用以及安全系统等应用1.2研究意义Linus Torvalds倡导下的Linux操作系统在整个计算机操作系统领域引发了强烈的反应,他不仅为广大的计算机用户提供了一个可选的优秀操作系统平台,同时也为诸多的操作系统的研究人员、开发人员提供了一个很好的研究与开发基础,使得这个领域的研究更加开放和活跃。Linux的如下特点是十分引人注目的。(1)Linux开放源代码,这使得学习、修改、裁剪Linux成为可能,嵌入式系统的设计者可以对嵌入式Linu

13、x进行二次开发,去掉操作系统的附加功能,只保留必须的操作系统功能。(2)成本低,Linux是开放源代码的自由软件,遵循GPL协议,其源代码可以自由获得使用。这使得Linux开发嵌入式应用中用于购买嵌入式操作系统的费用可以忽略不计。而商业操作系统其操作系统的每个拷贝售价在几百美元到几万美元不等,如果需要操作系统的源代码,则还需要另外购买。此外,Linux的开发工具也可以免费获得。这使得开发成本大大降低。(3)强大的网络支持功能。Linux诞生于因特网时代并具有Unix的特性,保证了它支持所有标准因特网协议,并且可以利用Linux的网络协议栈将其开发成为嵌入式的TCPIP网络协议栈。此外,Linu

14、x还支持ext2、fatl6、fat32等文件系统,为开发嵌入式系统应用打下了很好的基础。(4)优秀的开发工具,开发嵌入式系统的关键是需要有一套完善的开发和调试工具。在线仿真器的价格非常昂贵,而且只适合做非常底层的调试。如果使用的Linux,一旦软硬件能够支持正常的串口功能时,即使不用在线仿真器也可以很好地进行开发和调试工作,从而节省了一笔不小的开发费用。Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境, 可以跨越嵌入式系统开发中仿真工具的障碍。此外,Linux也符合IEEE POSIX1标准,使应用程序具有较好的可移植性。(5)广泛的硬件支持。Linux支持的硬件平

15、台很多,包括x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上,支持各种主流硬件设备和最新的硬件技术。因此Linux的移植是嵌入式开发中的热点。(6)大量的技术支持。Linux源代码开放性,使基于Linux的开发人员非常多,而且Linux的各种开发文档和基于Linux的开放源代码应用程序很容易从网络上获得。实时化后的Linux除了保持原有的特性,例如,开放性(遵循开放系统互连0SI国际标准),多用户,多任务,良好的用户界面,设备独立性,良好的移植性,同时使其具备更良好的进程调度算法,加上Linux丰富的免费资源

16、,Linux必将在嵌入式实时领域有较广的应用前景。1.3嵌入式系统现状及发展趋势嵌入式系技术具有非常广阔的应用前景,其应用领域可以包括:(1)工业控制基于嵌入式芯片的工业自动他设备具有很大的发展空间,目前已经有大量的8、16、32位嵌入式微控制器应用在工业过程控制、数控机床、电力系统、电网安全、电网设备监测、石油化工系统等领域。(2)交通管理在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输行业成功使用。(3)信息家电这将成为嵌入式系绕最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的

17、空间。即使不在家里,也耐以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。(4)家庭智能管理系统水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌入的专用控制芯片将代替传统的人工检查,并实现更高、更准确和更安全的性能。(5)环境监测环境监测包括水文资料实时监测,防洪体系及水土质量监测,堤坝安全,地震监测网、实时气象信息网、水源和空气污染监测等。在很多环境恶劣、地况复杂的地形,嵌入式系统将实现无人监测。(6)机器人嵌入式芯片的发展将使机器人在微型化、智能化方面的优势更加明照,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。发展趋势有:(1)为设

18、备网络通信提供标准接口为适应嵌入式分布处理结构和应用上网需求,面向2l世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必须配备Ethernet网口,相应需要TCPIP协议簇软件支持;由于家用电器互相关联(如防盗报警,灯光能源控制,影视设备等)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEEl394,USB,CAN或IrDA通信接口,同时也需要提供相应的组网协议软件和物理层驱动软件。(2)支持小型电子设备实现小尺寸,徽功耗和低成本为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片,这就相应提高了对嵌入式软件设计技术

19、要求(如选用最佳的编程模式和不断改进算法),因此既要软件人员有丰富经验,更需要发展先进嵌入式软件技术如WEB和WAP等。(3)提供精巧的多媒体人机界面之所以亿万用户乐于按受嵌入式设备,重要因素之一是嵌入式设备与用户之间的亲和力, 自然和人机交互界面。人们与信息终端交互要求GUI屏幕为中心的多媒体界面。手写文字输入,语音拨号上网,收发电子自B件以及彩色图形图像已获得很大成功,先进的PDA早已在显示屏幕上已实现汉字写入,短信息,语音发布。(4)嵌入式网络除了以上这些应用领域,嵌入式系统还有其他方面的应用。嵌入式系统已经进入到现代社会中人们生活的方方面面,可是说是“无处不在”,尤其是在控制方而的应用

20、。同样的道理,所有基于剐络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现。所以,开发和探讨嵌入式系统有着十分重要的意第二章 系统需求分析2.1 开发平台介绍本论文研究使用的嵌入式系统硬件平台为UP-TECH,它以三星S3C2410芯片为处理器。UP-TECH不但是一个强大的教学平台,而且还是一个强大的、灵活的开发平台,在这个平台上很容易进行软件开发研究及硬件设计等。S3C2410所采用的核心内核部分是ARM公司的ARM 920T处理器核。下面我们首先介绍ARM微处理器。2.2 ARM微处理器简介ARM(Advanced RISC Machines),可以认

21、为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应稳,本身不直接从事芯片生产,靠转让设计许可由合作公司生产餐具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品进入市场更容易被消费者所接受,提高竞争力。2.3 UP-TECH硬件平台2.3.1

22、硬件介绍UP-TECH平台由核心板和底板(外设板或称基本板)组成,核心板上集成SamsungS3C2410处理器,64M的FLASH和64M SDRAM,为应用研发提供了足够的空间。Samsung 公司推出的16/32位RISC处理器S3C2410,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。为了降低整个系统的成本,S3C2410提供了以下丰富的内部设备:分开的16KB的指令Cache和16KB数据Cache,MMU虚拟存储器管理,LCD控制器(支持STN&TFT),支持NAND Flash系统引导,系统管理器(片选逻辑和SDRAM控制器),3通道UART,4通

23、道DMA,4通道PWM定时器,I/O端口,RTC,8通道10位ADC和触摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主机,USB设备,SD主卡&MMC卡接口,2通道的SPI以及内部PLL时钟倍频器。S3C2410采用了ARM920T内核,0.18um工艺的CMOS标准宏单元和存储器单元。它的低功耗、 精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。 同样它还采用了一种叫做Advanced Microcontroller Bus Architecture(AMBA)新型总线结构。S3C2410的显著特性是它的CPU核心,是一个由Advanced RISC Machines(A

24、RM)有限公司设计的16/32位ARM920T RISC处理器。ARM920T实现了MMU,AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立的16KB指令Cache和16KB数据Cache,每个都是由8字长的行(line)构成。通过提供一系列完整的系统外围设备,S3C2410大大减少了整个系统的成本,消除了为系统配置额外器件的需要。本文档将介绍S3C2410中集成的以下片上功能:2.3.2 S3C2410 ARM MPU 图2-1 2410体系结构框图图2-2 内部结构图第三章 嵌入式linux 移植的实现3.1移植环境搭建嵌入式开发传统方式是PC机+虚拟机来实现,但考虑到效

25、率太低,在本次移植中采用直接的硬盘安装linux系统来实现,安装了Ubuntu 14.04版本。所谓的交叉编译简单地说,就是在一个平台上生成另一个平台上的可执行代码我们需要一套编译环境,将在X86上的C代码编译为ARM系统可以识别的目标代码。arm-linux-gcc是基于ARM目标机的交叉编译软件,前面几年安装arm-linux-gcc交叉编译软件对与一个初级嵌入式工程师来说特别棘手,因为它需要安装多个软件包,而且安装过程中不能有半点差错,因为每个软件包都有它的依赖关系【换句话就是说安装某个软件包时,如果它的依赖软件版本太低或者没有安装都将导致该软件包安装失败】,在此使用了别人集成的交叉编译

26、链arm-linux-gcc -4.3.2安装如下# tar zxvf arm-linux-gcc-4.3.2.tgz# vim /etc/profile 添加如下export PATH=$PATH:/opt/usr/local/arm/4.3.2/bin/opt/usr/local/arm/4.3.2/arm-none-linux-gnueabi/bin # source /etc/profile 使安装马上生效# arm-linux-gcc v 查看是否生效 结果如下说明可以了gcc version 4.3.2 (Sourcery G+ Lite 2008q3-72)图3-1交叉编译环境结

27、构图3.1.1 Tftp服务搭建1、安装相关软件包:Ubuntutftp(服务端),tftp(客户端),xinetd#apt-getinstalltftpdtftpxinetd2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpvimtftp在文件中输入以下内容:servicesocket_type=dgramprotocoludpwaityesuserrootserver/usr/sbin/in.tftpdserver_args-s/tftpbootdisablenoper_source11cps1002flagsIPv4保存退出。3、建立Ubuntutftp服务文件目录

28、(上传文件与下载文件的位置),并且更改其权限mkdir/tftpboot/*在根目录下建立tftpboot文件夹,注意与mkdirtftpboot的区别*/chmod777-R4、重新启动服务# /etc/init.d/xinetdrestart至此Ubuntutftp服务已经安装完成了,下面可以对其进行一下测试。(在当前目创建1.txt,在tftpboot目录下创建1.txt和2.txt,且tftpboot目录下2.txt权限为修改为777)。执行get命令时,保证tftpboot目录下的文件权限 chomd 777 1.txt,执行put命令时,必须先在tftpboot目录下新建一个和上传

29、文件同名的文件权限 chmod 777 2.txt 。127.0.0.1tftpget1.cReceived7bytesin0.1secondsput2.cSent100.0quit以上把tftp服务成功搭建好。3.2 bootloader概念引导加载程序是系统加电后运行的第一段代码。我们熟悉的PC中的引导程序一般由BIOS和位于MBR的OS BootLoader(例如LILO或者GRUB)一起组成。然而在嵌入式系统中通常没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。在嵌入式Linux中的引导加载程序即等效为BootLoader。Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1