Linux驱动实验报告.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux驱动实验报告

Linux平台上IO接口驱动程序设计 以按键和数码管为例 南京大学电子科学与工程学院 李超凡091180066 2011-12-31 摘要 本文介绍了一个简单的IO驱动程序的实现过程,通过编写内核模块的方式,控制嵌入式开 发板上的单按键键盘和数码管。以此为例介绍了与之相关的Linux内核中的定时器的运用,探 讨了在Linux中利用等待队列阻塞一个进程的具体方法,并在驱动程序设计的过程中尝试使用 了Linux2.6内核引入的LinuxDeviceModel ,以及与之相配合的sysfs 虚拟文件系统。 1 介绍 1.1实验环境说明 开发板环境介绍: 1. 开发板使用深圳市武耀博德信息技术有限公司生产的基于高性能的PXA270处理器的多功 能嵌入式开发平台EELIOD。 2. 用于开发板上的Linux内核源代码为linux-2.6.9-eeliod ,busybox 版本号1.12 。 3. 开发板自带数码管四个,处理器通过一个两个锁存器与之相连,一共占用两个地址,分别 是0、0。 4. 开发板自带LED灯8个,处理器同样通过一个锁存器与之相连,占用一个地址0。 5. 开发板的单按键一共四个,通过GPIO与开发板相连,本实验中使用了其中了两个单按 键,这两个单按键分别在地址0x40e00100 的第三和第四位。 PC环境介绍: 1. PC型号为LenovoThinkpadSC。 2. PC机使用debian-6.0.3系统,Linux内核版本号 3.0.8 。 3. PC机在 /dev/input 目录下已有如/dev/input/mice 、/dev/input/mouse0 、/dev/ input/event0 等鼠标和键盘的设备文件,并使用内核自带的驱动,处于工作状态。 1.2设备驱动简介 设备驱动或者简写作驱动,是一类用来实现操作系统或者应用程序与硬件交互的计算机程 序。驱动的编写应当为应用程序的编写服务,即能够简化应用程序的编写,尤其应当为应用程 序的编写提供统一的编程接口,使之不受制于具体的硬件。 现代操作系统比如Windows、Linux一般都提供两套模式:内核模式(kernelmode )和用户模 式(user mode),运行于用户模式的程序比如各种应用程序无法访问到内核模式的资源,除非 通过系统调用(system call )。大多数设备驱动均运行于内核模式,但也有一部分设备驱动运行 于用户模式。本文探讨运行于内核模式的驱动程序的编写。 在Linux操作系统中,运行于内核模式的驱动程序既可以内建于内核中,在开机时随内核一 起加载,又可编译成单独的模块(module ),随用随加载。很多Linux发行版在/lib/modules/ 目录下存储有大量模块,编译这些模块的源代码绝大部分都是随内核源代码一起发布的,但是 1 没有被编入内核的那部分。它们大多是一些具体设备的驱动程序,但由于所涉及的设备太过琐 碎,很多人可能不需要它们,故而被编译成模块,放入 /lib/modules 目录中,用时再调入内 核。 Linux中的内核模块一般以 .ko为后缀名,Windows中的对应物则以 .sys为后缀,一般 .sys文件集中存放在Windows的系统分区的WINDOWS\system32\drivers 文件夹下。早期版本 的Linux如Linux2.4则以 .o为后缀名,2.4和2.6版本的Makefile的书写也有较大的区别。2.4 版本的模块编译过程不需要内核源码只需要内核源码的头文件。而2.6版本的模块编写则需要有 对应版本的内核源码。 1.3 sysfs虚拟文件系统简介 Linux2.6引入了全新的 sysfs 虚拟文件系统。这个文件系统一般就是现在的Linux发行版中常 见的/sys 目录 。这个文件系统将有关设备驱动的信息尤其

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档