好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

嵌入式Linux字符型驱动开发.doc

42页
  • 卖家[上传人]:桔****
  • 文档编号:465701082
  • 上传时间:2023-12-28
  • 文档格式:DOC
  • 文档大小:828KB
  • / 42 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 论文(设计)题目: 嵌入式Linux字符型驱动开发 嵌入式Linux字符型驱动开发摘 要对于嵌入式产品来说,工作状态指示灯、输入设备、显示部件等与用户交互的设备能否正常工作,往往是产品在市场竞争中存活甚至成功的主要因素在嵌入式产品中,这些设备都被认为字符型设备,所以基于嵌入式Linux操作系统字符型设备的驱动开发就尤其重要本文就Linux+arm平台的嵌入式Linux字符驱动开发做了一些探讨文章中主要介绍了嵌入式Linux操作系统的特点、系统移植的方法、交叉编译、驱动程序的加载可以实现Linux系统在ARM开发板运行、自己编写的驱动程序可以在开发板上加载并实现驱动LED显示灯的效果[关键词] 嵌入式 Linux ARM 驱动 ABSTRACTFor embedded product is concerned, working status indicator, input devices, display parts of equipment to interact with users can work normally, often is the product in market competition to survive and even the key element of success. In embedded products, these devices are considered character type equipment, so based on embedded Linux operating system character type equipment driver development is particularly important. This paper will make some discussions driver development for Linux + arm platform embedded Linux characters. Article mainly introduces the characteristics of embedded Linux operating system, the system transplant approach, cross-compiling, driver loading. Can realize Linux system in ARM development board operation and the driver that I writed can load and realizing the development board driver LED display lights effect. [Key Words] Embedded ,Linux,ARM,Driver目 录一、引言 1二、嵌入式Linux介绍 1(一)嵌入式系统介绍 11、嵌入式系统的定义 12、嵌入式系统的组成 1(二)Linux系统介绍 31、Linux简介 32、Linux系统的特点 3三、开发平台介绍 3(一)硬件平台 31、ARM处理器简介 32、mini2440开发板介绍 4(二)软件环境介绍 41、Makefile的使用 42、交叉编译的使用 6四、嵌入式开发环境的搭建 6(一)系统移植 61、Bootloader移植 62、内核移植 83、文件系统移植 10(二)共享文件的建立 12五、字符型设备驱动开发 12(一)设备驱动程序开发概述 131、Linux系统设备概述 132、设备驱动程序的概念 13(二)字符型设备驱动开发详解 151、有关的概念 152、基本的开发流程 21六、实际案例 24(一)系统设计 241、分析原理图 242、芯片手册分析 26(二)驱动程序 271、代码分析 272、程序的扩展 28七、结论 29参 考 文 献 30致 谢 31附 录 32I嵌入式Linux字符型驱动开发一、引言随着信息技术的发展和数字化产品的普及,嵌入式系统都得到了广泛的应用。

      嵌入式系统的广泛应用前景和发展潜力使其成为21世纪的应用热点之一Linux系统具有很高的可靠性和效率其公开的获得的开源代码已经在性能、功能、驱动开发和可移植等方面经历了无数的改进和增强现在越来越多的开发人员都使用Linux系统了驱动开发是嵌入式开发的一部分可以说设备驱动开发是进入Linux内核的世界的大门,对整个系统的运行起着至关重要的作用在嵌入式驱动开发中,最常用的就是字符型设备驱动的开发本文就字符型设备驱动的开发做一些研讨二、嵌入式Linux介绍(一)嵌入式系统介绍1、嵌入式系统的定义嵌入式系统(Embeded System)是以应用为中心和计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的计算机系统它可以实现对其他设备的控制、监控或管理等功能[3, 4]2、嵌入式系统的组成嵌入式通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成<1>、嵌入式处理器嵌入式处理器是嵌入式系统的核心部件和通用处理器不同点在于嵌入式CPU大多工作在为特定用户群设计的系统中根据具体需求,高低端的处理器都有迄今为止市面上已有1000多种嵌入式处理器,其中以ARM、PowerPC、MIPS等使用的最为广泛。

      <2>、嵌入式外围设备嵌入式系统的外围设备很多,主要包括三类第一类:存储类型的主要包括静态易失型存储器(RAM,SRAM)、动态存储器(DRAM)、非易失型存储器(ROM、FLASH、EPROM)其中FLASH以可擦除次数多、存储速度快的特点在嵌入式开发中得到的广泛的应用第二类:接口类型主要包括串口、USB接口、以太接口、普通并口等第三类:显示类型主要是CRT,LCD和触摸屏等外围显示设备<3>嵌入式操作系统在嵌入式大型应用中,为了是嵌入式开发更方便、快捷,就需要具备相应的管理存储器分配,中断处理,任务间通信和定时器响应,以及提供多任务处理等功能的稳定的、安全的软件模块集合,即嵌入式操作系统当今流行的嵌入式操作系统包括Linux,VxWorks,pSOS,Delta OS等<4>嵌入式应用软件嵌入式应用软件是针对特定的实际专业领域的,基于相应的嵌入式硬件平台的,并能完成用户预期任务的计算机软件嵌入式应用对成本十分敏感,除了减少硬件成本外,尽可能的减少嵌入式应用软件的资源消耗也是不容忽视的重要因素二)Linux系统介绍1、Linux简介Linux操作系统是于1991年,由芬兰赫尔辛集大学计算机科学系的一名学生Linus Benedict Torvalds首次独立创建的[1]。

      它是开源的是多任务、多用户的系统可以运行在X86架构及更高档次的PC、ARM、PowerPC等多种计算机平台上目前所能接触到得Linux主要有Redhat、SuSE、Red Flag、OpenLinux、Ubuntu等2、Linux系统的特点我们都习惯了Windows系统,但是Linux和它有很多的区别在Linux系统下没C盘、D盘之类的说法取而代之的是目录根目录就相当于Windows系统下的“我的电脑”,在根目录下有很多目录比如:bin、root dev、etc、home、lib等需要说明的在dev目录下放的是和设备有关的文件这在驱动开发里会用到的三、开发平台介绍(一)硬件平台1、ARM处理器简介ARM即Advanced RISC Machines的缩写ARM处理器核已经有6个系列产品:ARM7、ARM9、ARM9E、ARM10E、SecureCore和ARM11[227]ARM家族的所有成员都共享一个基本指令集,及32位的ARM指令集其中ARM9系列微处理器于1997年问世,采用5级指令流水线,包含ARM920T、ARM922T、ARM940T三种主要应用于PDA、无线设备、仪器仪表、安全系统、机顶盒、高端打印机等。

      2、mini2440开发板介绍图1 S3C2440的内部结构简图mini2440是一款ARM9开发板,它采用 Samsung S3C2440 为微处理器,并采用专业稳定的CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性S3C2440的频率是400MHz,其中ARM920T核由ARM9TDMI、存储管理单元(MMU)和高速缓存三部分组成其中,MMU可以管理虚拟内存,高速缓存由独立的16K地址和16K的数据高速Cache组成ARM920T有两个内部协处理器:CP14和CP15CP14用于调试控制,CP15用于存储系统控制以及测试控制内部结构图1二)软件环境介绍1、Makefile的使用Makefile的出现给Linux下程序的编译带来了很多方便只要执行make就可以了关键是如何正确的编写Makefile文件呢?说简单点,其规则就是若干依赖关系和重建目录的命令而已比如在一个工程里很多.c 和.h文件如果不写Makefile文件,那就要使用gcc编译很多次,效率很低在一个Makefile文件通常包含如下内容:★需要有make工具创建的目标体,通常是目标文件或可执行文件★要创建的目标体所依赖的文件。

      ★创建每个目标体时需要运行的命令举个例子,下面就是一个很简单的Makefile文件代码如下:OBJS:=contact.o Main.o util.o contactDao.ocontact:contact.o Main.o util.ocontact:contactDao.o gcc ${OBJS} -o contactcontact.o:contact.c contact.h gcc -c contact.c -o contact.oMain.o:Main.c contact.h gcc -c Main.c -o Main.outil.o:util.c gcc -c util.c -o util.ocontactDao.o:contactDao.c gcc -c contactDao.c -o contactDao.oclean: -rm -rf *.o contact.PHONY:clean2、交叉编译的使用和windows程序开发不同的是,在嵌入式系统中,由于其硬件能力所限,不可能在嵌入式系统上安装编译器和连接器在这种情况下就需要一中跨平台的编译器,也就是交叉编译器(Cross-Compiler)。

      交叉编译器指的是运行在某台功能足够强大的宿主机是(Host)上,可用来编译某个源程序,然后生成针对特定目标平台的代码编译器[87]在Linux+ARM平台的嵌入式开发环境中使用的交叉编译器是Arm-Linux-Gcc使用其就可以保证,编译的程序可以在arm平台运行了把下载好的交叉编译器在Linux系统中解压在编译之前一定要设置环境变量具体方法是通过下面的命令去实现export PATH=/armtools/bin:$PATH四、嵌入式开发环境的搭建在嵌入式开发中,搭建嵌入式开发环境是很重要的一个环节一块开发板就好比一个计算机刚买来的计算机是裸机搭建嵌入式开发环境要做的事情很多往往搭建这个环境就得花很长时间对于刚接触嵌入式开发的人员来说这是很苦恼的事情。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.