毕业设计(论文)-完成LINUX下arm的交互开发工作.doc
《毕业设计(论文)-完成LINUX下arm的交互开发工作.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-完成LINUX下arm的交互开发工作.doc(28页珍藏版)》请在三一文库上搜索。
1、河北软件职业技术学院毕业设计(论文)题 目:系 别:专 业:年 级:姓 名:学 号:指导教师:摘 要关键词:U-boot 、内核配置、 根文件系统(rootfs)随着 ARM芯片以及LINUX操作系统的出现,为嵌入式的发展注入了强劲的活力。本设计实现LINUX操作系统向ARM9平台的移植。U-boot是系统的启动引导程序,要移植LIUNX操作系统,U-boot是必不可少的。LINUX操作系移植成功后,系统还是不能正常启动的,还需要根文件系统(rootfs)支持,这样系统就可以正常启动。但是嵌入式系统往往是为某些特定的功能设计的,所以,系统要想完成某些功能,还需要顶层应用程序的支持。Abstra
2、ctKEY WORDS :U-boot kernel rootfsWith the ARM chip, as well as the emergence of LINUX operating system for embedded development into a strong vitality. LINUX Operating System Design and Implementation of the ARM9 platform to transplantation. U-boot the system boot process, it is necessary to transpl
3、ant LIUNX operating system, U-boot is a must. LINUX operating system after a successful transplant, the system still does not start, but also the need for root file system (rootfs) support, so the system can be a normal start. However, for embedded systems is often the function of specific design, s
4、o, the system in order to complete certain functions, but also the need for top-level application support. 完目 录第一章 绪论3第二章 课题任务4第三章 设计依据6一.软件平台的选择6二.硬件平台的选择8三.应用程序的选择9第四章 系统规划10一.系统分析流程10二.LINUX内核的配置12三.根文件系统选择14第五章 设计主体18一.ARM-LINUX交叉工具的制作及安装18二.U-boot的编译及移植18三.LINUX内核的配置编译及移植20四.rootfs的制作及烧写工作24五.应
5、用程序的移植25第六章 个人体会26第七章 附录27一.致谢27二.参考文献27第一章 绪论随着嵌入式技术的发展,嵌入式的应用领域也越来越广泛。随着IC设计的发展,出现了工业化ARM芯片,可以说ARM是未来嵌入式开发的主宰。ARM是Advanced RISC Machines的首字母组合,是一类微型处理器的统称。LINUX操作系统是目前嵌入式操作系统中主流的操作系统,它不同于WINDOWS,LINUX操作系统是完全开源的,这就使嵌入式开发过程大大降低了成本。另外,LINUX操作系统支持多种文件系统,如EXT2、EXT3、MINIX、VFS等等。在ARM开发过程中LINUX操作系统的开发极为重要
6、, LINUX下ARM的BOOTLOAD、内核、文件系统的裁剪、移植、烧录工作以及针对文件系统进行GUI的编写任务,最终形成一成功的GUI界面,成为ARM-LINUX的开发重点。本设计选用的bootloader 为U-boot ,经过编译后生成二进制文件,将其烧写到ARM平台的NAND FLASH中。内核选用LINUX操作系统LINUX 2.6.14.1版本的内核源码,将其进行修改之后移植到ARM9(S3C2410)的芯片上。文件系统采用busybox软件包经过修改用cramfs 工具生成.img映像文件,烧写到NAND FLASH 中。ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器
7、,主要包括ARM9TDMI和ARM9E-S等系列。本设计采用韩国三星公司生产的ARM9TDMIs3c2410芯片。以手机应用为例,2G手机只需提供语音及简单的文字短信功能,而目前的25G和未来的3G手机除了提供这两项功能外,还必须提供各种其他的应用功能。主要包括:(1)无线网络设备:手机上网、电子邮件及其他定位服务等功能;(2)PDA功能:含有用户操作系统(Windows CE、Symbian OS、LINUX等)及其他功能;(3)高性能功能:音频播放器、视频电话、手机游戏等。在25G和3G的应用中ARM9已经全面替代了ARM7。因为ARM9的新特性能够满足各种新需求的同时减少产品研发时间并降
8、低研发费用。新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。第二章 课题任务本设计完成LINUX下ARM的BOOTLOAD、内核、文件系统的烧录工作,同时主要针对文件系统进行GUI的编写任务,最终形成一成功的GUI界面。首先,是LINUX操作系统的内移植。包括内核版本的选择,根文件系统的制作,应用程序的移植等等。在ARM开发过程中LINUX操作系统的开发极为重要,本设计完成LINUX下ARM的BOOTLOAD、内核、文件系统的烧录工作,同时主要针对文件系统进行GUI的编写任务,
9、最终形成一成功的GUI界面。本设计要求学生掌握S3C2410的基本中断知识,以及与外部液晶通信的相关知识。在设计过程中学生要先了解U-BOOT、内核、文件系统的大体结构,利用所学知识熟悉对芯片的烧录工作。然后先从顶层对文件系统进行编辑,通过编辑文件系统形成对液晶屏幕的大体设计,本设计要求学生在液晶屏幕上制作一常用设备界面,并且通过挂载键盘驱动实现键盘对液晶的控制。第三章 设计依据一.软件平台的选择LINUX系统属于开放源代码软件,由于LINUX系统具有稳定、安全、网络负载力强、占用硬件资源少等技术特点,自问世以来得到了迅速推广和应用,并已发展为当今世界的主流的嵌入式操作系统之一。LINUX在嵌
10、入式的广泛应用不是偶然的,这就取决于LINUX操作系统特点。1、完全免费LINUX是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了LINUX的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让LINUX吸收了无数程序员的精华,不断壮大。2、完全兼容POSIX 1.0标准这使得可以在LINUX下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到LINUX奠定了基础。许多用户在考虑使用LINUX时,就想到以前在Windows下常见的程序是否能正
11、常运行,这一点就消除了他们的疑虑。3、多用户、多任务LINUX支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,LINUX可以使多个程序同时并独立地运行。4、良好的界面LINUX同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Windows系统,用户可以使用鼠标对其进行操作。在X-Windows环境中就和在Windows中相似,可以说是一个LINUX版的Windows。5、丰富的网络功能互联网是在Unix的基础上繁荣起来的,LINUX的网络功能当然不
12、会逊色。它的网络功能和其内核紧密相连,在这方面LINUX要优于其他操作系统。在LINUX中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。6、可靠的安全、稳定性能LINUX采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。LINUX由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上LINUX在这方面也十分出色。7、支持多种平台 LINUX可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外LINUX还是一种嵌入式操作系统,可
13、以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的LINUX 2.4版内核已经能够完全支持Intel 64位芯片架构。同时LINUX也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。8、操作系统的低占用率LINUX是由内核(kernel)以及在其之上的实用程序构成的,内核负责管理计算机的各种资源,如处理器和内存,而且必须保证合理地分配资源。当 LINUX启动时,内核被调入内存,并一直驻留在内存中直到关机断电。同大多数的Unix或者类Unix系统类似,LINUX的内核在设计的时候被设计的尽量很小,把许多工作交给内核以外的实用程序执行。通过利用LINUX这个特点,用户在安装LIN
14、UX的时候可以定制安装的应用程序的多少,在某些情况下用户可以仅安装一个LINUX的核心。9、低移植成本低LINUX能够在几乎所有的计算机平台上运行,包括PC、PC服务器、UNIX服务器、中型机、大型计算机上,给用户的应用软件在不同的平台之间的移植创造了极为便利的条件。例如,企业级用户随着业务的不断增长,硬件平台从小型的PC服务器升级到较高端的UNIX服务器,甚至更高端的中型机或大型机的情况是极为常见的。过去,由于PC服务器使用的是Windows 操作系统,而UNIX 服务器使用的操作系统,中型机和大型机使用的是厂商提供的专用系统,所以在不同的平台之间的软件移植,可能会发生中间件软件的版本更换,
15、应用软件的重新编译,甚至是应用软件源代码的修改,很可能需要比较大的人力物力的投入,而如果采用了LINUX 操作系统,不同平台之间的移植就会容易的多。综合LINUX的以上优点,本设计的软件平台采用Ubuntu LINUX 8.10作为主机(host)的开发平台。LINUX系统内核选用2.6版本的内核LINUX-2.6.14.1。因为LINUX系统2.6版本的内核自2003推出至今,一直在不断升级,小版本号一直在变化,选用这款2.6.14.1的内核是因为其移植较最新版本的内核移植过程更为复杂,使我在一直过程中更能深一步了解移植的过程,学到更多的经验,故而选择这款内核。文件系统的选择是具有通用性质的
16、,我在这里选用busybox工具集。熟悉LINUX的人对busybox一定不陌生,它被非常形象地成为嵌入式LINUX系统的“瑞士军刀”,因为它将许多常用的UNIX(LINUX的前身)命令和工具集合到了一个单独的可执行程序当中,这样就为文件系统的移植提供了很大的方便。这些常用的命令对于嵌入式系统而言已经足够了,所以选用busybox软件包制作文系统。二.硬件平台的选择硬件平台选用韩国三星公司的ARM9处理器S3C2410,S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数
17、据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。而且s3c2410的价格比较便宜,在实十几美元左右,可以说是物美价廉。核心板的尺寸仅相当于名片的2/3大小,尺寸如此小巧的嵌入式核心板是国内首创。开发商可以充分发挥想象力,设计制造出小体积,高性能的嵌入式应用产品。(1)S3C2410芯片集成了大量的功能单
18、元,包括: 内部1.8V,存储器3.3V,外部I/O3.3V,16KB数据Cache,16KB指令Cache,MMU。 内置外部存储器控制器(SDRAM控制和芯片选择逻辑)。 LCD控制器,一个LCD专业DMA。 4个带外部请求线的DMA。 3个通用异步串行端口(IrDA1.0,16-Byte Tx FIFO and 16-Byte Rx FIFO),2通道SPI 一个多主I2C总线,一个I2S总线控制器。 SD主接口版本1.0和多媒体卡协议版本2.11兼容。 两个USB HOST,一个USB DEVICE(VER1.1)。 4个PWM定时器和一个内部定时器。 看门狗定时器。 117个通用I/
19、O。 56个中断源。 24个外部中断。 电源控制模式:标准、慢速、休眠、掉电。 8通道10位ADC和触摸屏接口。 带日历功能的实时时钟。 芯片内置PLL。 设计用于手持设备和通用嵌入式系统。 16/32位RISC体系结构,使用ARM920T CPU核的强大指令集。 带MMU的先进的体系结构支持WinCE、EPOC32、LINUX。 指令缓存(Cache)、数据缓存、写缓存和物理地址TAG RAM,减小了对主存储器带宽和性能的影响。 ARM920T CPU核支持ARM调试的体系结构。 内部先进的位控制器总线(AMBA)(AMBA2.0,AHB/APB)。(2)系统管理 小端/大端支持 地址空间:
20、每个BANK128MB(全部为1GB)。由于ARM9芯片的功能强大,管脚丰富,开发资源丰富,在综合其价位,决定选用三星公司的这款s3c2410芯片作为硬件平台。三.应用程序的选择应用程序是简单的MP3播放器移植,这里做的工作主要是系统的搭建,应用程序只是作为检测系统而作的辅助工作。以此证明系统的可靠、安全、稳定的性质。第四章 系统规划一.系统分析流程 第二步:Linux内核的配置第一步:U-boot的制作第三步:Rootfs的制作第四步:应用程序的移植图4-1从系统的流程图可以看出,U-Boot是系统构建的第一步。U-Boot,全称Universal Boot Loader,是遵循GPL条款的
21、开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与LINUX内 核很相似,事实上,不少U-Boot源码就是相应的LINUX内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。 但是U-Boot不仅仅支持嵌入式LINUX系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, LINUX, SVR4, Esix, Solaris, Irix, SCO,
22、Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义。另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、 x86、ARM、NIOS、XScale等诸多常用系列的处理器。以上两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作 系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对LINUX的支持最完善。其它系列的处理器和操作系统基本是在2002年11 月PPCBOOT改名为U-Boot后逐步扩充的。从PPCBOOT向U
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 完成 LINUX arm 交互 开发 工作
链接地址:https://www.31doc.com/p-3948515.html