基于ARM9的Linux系统移植与驱动开发_第1页
基于ARM9的Linux系统移植与驱动开发_第2页
基于ARM9的Linux系统移植与驱动开发_第3页
基于ARM9的Linux系统移植与驱动开发_第4页
基于ARM9的Linux系统移植与驱动开发_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 设 计题目名称: 基于 ARM9 的 Linux 系统移植与驱动开发 学生姓名: 院 系: 专业年级: 指导教师: 职 称: 年 月 日目 录题目 .摘要及关键词 .I1 前 言 .11.1 嵌入式基本介绍 .11.2 嵌入式的发展方向 .11.3 课题意义 .11.4 内容简介 .12 开发环境 .12.1 Linux 硬件平台 .12.2 linux 软件开发环境 .12.2.1 交叉编译环境 .12.2.2 配置主机 NFS 服务 .12.2.3 安装交叉编译工具链 .13 系统引导过程 .13.1 Bootloader 介绍 .13.2 Uboot 编译 .13.3 移植 uboot.13.3.1 移植 U-Boot 的基本步骤 .13.3.2 NAND FLASH 和 NOR FLASH 启动 .14 内核移植 .14.1 内核版本号命名规则 .14.2 Linux 内核特点 .14.3 编译新版内核注意事项 .14.4 移植前的准备工作 .14.5 开发板内核移植 .14.6 Linux 内核启动过程 .14.6.1 内核自引导 .14.6.2 Linux 系统初始化 .14.6.3 挂接根文件系统 .14.6.4 初始化设备驱动 .14.6.5 启动用户空间 init 进程 .14.7 文件系统 .14.7.1 文件存放规则 .14.7.2 制作 JFFS2 根文件系统 .15 Linux 驱动程序 .15.1 Linux 驱动程序简介 .15.2 Linux 驱动程序构成 .15.3 驱动程序调用过程 .15.4 Linux 字符设备驱动程序 .15.4.1 驱动测试 .15.5 输入子系统驱动程序 .15.5.1 驱动测试 .16 结论与展望 .16.1 结论 .16.2 展望 .1参考文献 .1致 谢 .1附录 1 Uboot NAND、NOR 双启动代码 .1附录 2 LED 驱动程序 .1附录 3 触摸屏驱动程序 .1I基于 ARM9 的 Linux 系统移植与驱动开发姓 名: 专 业: 指导教师: 摘 要 :十二届全国人大三次会议上首次提出“互联网 +”行动计划。所谓“互联网+” ,是指 “互联网+ 各个传统行业 ”,也就是将互联网与传统行业相结合。嵌入式 linux 既继承了 Internet 上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式 Linux 版权费免费;自由软件开发者提供了大量的应用软件支持,支持网络特性,而且性能优异,软件移植容易,代码开放,应用产品开发周期短,有许多公开的代码可以参考和移植,实时性强,稳定性、安全性好。本文主要阐述了将 linux 系统移植到搭载 s3c2440 芯片的开发板上,并针对其硬件开发和移植字符设备驱动程序的过程。文章列出了嵌入式 linux 的发展现状以及对未来发展方向的分析、嵌入式 linux 的驱动程序框架以及开发流程。关键词:S3C2440、内核移植、 UBOOT、文件系统、触摸屏驱动程序。Transplantation and driver development of Linux system based on ARM9Name: ShiChuan LiuMajor: Electronic Information and TechnologyTutor: Li JianAbstract: The three meeting of the twelve National Peoples Congress for the first time put forward the “Internet plus“ action plan. The so-called “Internet plus“, refers to “Internet plus various traditional industries, which is the combination of Internet and traditional industries. The embedded Linux inherits the Internet on infinite open source code resources, but also has the characteristics of embedded operating system the embedded Linux royalty free; provides a number of software applications support free software developers, support network characteristics, and excellent performance, the software easy to transplant, open source, application of product development cycle is short, there are many open source code can reference and transplantation, real-time, stability, good safety. This paper mainly expounds the the Linux system will be transplanted to the development board is equipped with S3C2440 chips, the driver for IIthe hardware development and transplantation and corresponding. This paper lists the development of embedded Linux is As well as the future direction of development of the analysis, embedded Linux Driver Framework and development process.Keywords: S3C2440、Transplantation of kernel、UBOOT、File System、Touch Screen Driver.11 前 言随着社会信息化的发展,嵌入式系统已经渗透到生活的各个领域。随着技术的发展和人们需求的增加,各类消费类电子产品的功能越加强大,使得系统越来越大,应用越来越多,使用操作系统很有必要。嵌入式 linux 是将 Linux操作系统进行修改、裁剪,使它能够在特定的硬件平台上运行的一种操作系统。嵌入式 linux 开源免费的特性,使得它拥有海量用户,来自全世界的无数程序员参与了嵌入式 Linux 的修改、编写工作,使得它拥有大量的软件工具,自身也在不断完善。1.1 嵌入式基本介绍嵌入式系统的定义为:以应用为中心,以计算机技术为基础、软硬件可裁剪,适用于应用系统,对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。它的主要特点是嵌入、专用。嵌入式 linux 最核心的两个部分,一是处理器,二是操作系统。CPU 作为中心计算单元,是嵌入式系统最核心的部件,是控制和辅助系统运行单元,嵌入式系统性能对 CPU 的依赖最大。从 20 世纪 70 年代起,微型机以小型、廉价、高速数值计算等特点迅速走向市场,它所具备的智能化水平在工业控制领域发挥了很大作用,常以各种形态出现,嵌入到一个对象体系中。进行智能化控制。好似计算机失去原来的形态,与通用的功能,为了区别于通用计算机系统,将这类为了某个专用的目的,而嵌入到对象体系中的计算机系统,称为嵌入式计算机系统,简称嵌入式系统。目前嵌入式方面的处理器超过 2000 种,主要的嵌入式处理器类型有 Am186/88、386EX 、SC-400、Power PC、68000、MIPS 、ARM/ StrongARM 系列等。ARM 处理器的具备耗电少功能强、16 位/32 位双指令集的优点。这使得在移动设备市场, ARM处理器的市场份额超过 90%。ARM 微处理器包含一系列可用于不同应用环境的 ip 结构, 如 ARM7、 9、9E、10E 等系列。1.2 嵌入式的发展方向嵌入式系统最初被用于控制机电、电话、交换机,如今被广泛应用于智能设备、电视机顶盒、交换机、服务器、银行自助客户端、通信、医疗器械、交通运输、工控、航空航天等。其应用的方向反映了其发展方向:A 目前的网络连接的装置不到 20%,大量嵌入式设备需连接网络来提升其操作性和灵活性。Linux 操作系统方面,linux 的缺点在于实时性,虽然 linux在实时性方面有所改进,但依然还有发展空间,有一些变种的 linux 如Rtlinux 达到了硬实时。另外虽然有多种 linux 发行版本,为系统提供了图2形化的界面,但用于开发的工具软件还大多是在命令行下操作。未来的开发的工具软件向图形化界面还有很大的发展空间。Linux 目前正在进一步将各个平台的差异化分离出来,需要用户自行配置的部分也就逐渐减少,Linux 内核、bootloader 的配置使用将越来越简便。B 在便携设备方面,省电节能将是嵌入式软硬件的一个共同发展方向,同时随着处理器技术突破,嵌入式设备处理速度更快、处理更加及时。1.3 课题意义随着智能化、信息化的社会发展趋势,嵌入式系统发展深入到很多领域。本文从嵌入式系统入手,移植最新 linux4.4.8 内核,构建开发板专用的嵌入式系统,在操作系统运行状态下实现应用程序及驱动程序的开发和测试,为嵌入式系统开发构建一个良好环境。1.4 内容简介本文根据 linux 启动顺序,从 linux 内核的引导阶段开始,分析 linux 内核引导过程及使用 uboot 引导程序的移植,然后阐述了 linux 内核启动过程及linux 内核移植,解释了 linux 内核启动完成后挂接文件系统及启动应用程序的过程,最后分析了 linux 驱动程序开发步骤。32 开发环境2.1 Linux 硬件平台本文使用百问网 /出品的 JZ2440 v2 开发板,其主要硬件特性如下:1:处理器:S3C2440A-40 400MHz 主频,ARM 920T 内核 1。2:Hitachi 4.3 寸触摸屏 LCD 。3:256M NAND FLASH ,8bit 宽度。4:64M SDRAM,133MHz,32bit 宽度(两片组成) 。5:网卡:100Mbps DM9000C, RJ45 接口。6:USB 串口。7:USB HOST。8:USB DEVICE。2.2 linux 软件开发环境嵌入式开发因为嵌入式设备本身的资源不足以用于软件开发,因此需要采用交叉编译的方式进行,PC 上通过 Vmware Workstation 虚拟机软件安装 linux发行版 Ubuntu12.04(后文中如未特别说明,PC 意为 Ubuntu12.04) 。在 PC 里面编辑、编译软件,在开发板上运行、测试程序。2.2.1 交叉编译环境嵌入式系统是用于某种特定环境下的计算机系统,它对系统某方面有严格要求。例如:PDA 需要通过电池供电,需要尽可能降低功耗;网络交换机,不需要键盘显示等外围设备;还有大部分嵌入式设备没有磁盘等大容量存储设备。智能手机属于嵌入式系统,尽管配置了显示屏、虚拟键盘等显示和输入设备,但它更加注重降低功耗及移动通信。出于嵌入式系统 Flash 存储空间小,可用于安装的储存空间少,处理器也可能不满足发行版的 Linux 系统的使用需求。所以需定制 Linux 操作系统,这必然要与之对应的开发环境。由此便出现了交叉开发模式。交叉开发模型如图 2-1 所示。4图 2-1 交叉编译模型Figure2-1 Cross-compilation model在 PC 上,可以安装开发工具,编辑、编译目标板的 Linux 引导程序、内核和文件系统,然后在目标板上运行。通常这种在主机环境下开发,在目标板上运行的开发模式叫作交叉开发。在交叉开发环境下,开发主机也是工作站,可以给开发者提供开发工具;同时也是一台服务器,可以配置启动各种网络服务。在 PC 主机上,Linux 已经成为优秀的计算机操作系统 2。各种 Linux 发行版本,可以直接在 PC 上安装,功能十分强大。它支持的设备多,操作更方便,性能更加稳定。交叉开发方式使开发者可以在常用的主机环境下进行开发(应用程序、驱动等) ,又方便开发调试阶段的调试,目标板硬件限制也就降低了。这种开发方式贯穿嵌入式 Linux 系统开发的全过程。目标板和主机之间常用的连接方式有 UART、网线、 USB 口及 JTAG 等连接方式。2.2.2 配置主机 NFS 服务NFS(Network File System)即网络文件系统,是 FreeBSD 支持的文件系统USB、 串 口 、 网 线等 连 接 方 式目 标板PC内 核 映 像内 核 映 像文 件 系 统网络文件系统下载内核5中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样 3。为之后在开发板上更方便的进行的烧写、测试程序,需要安装、配置、启动网络文件系统,ubuntu12.04 系统下,执行下列命令可以获

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论