嵌入式linux设备驱动开发

上传人:tia****nde 文档编号:67694259 上传时间:2019-01-08 格式:PPT 页数:14 大小:459.01KB
返回 下载 相关 举报
嵌入式linux设备驱动开发_第1页
第1页 / 共14页
嵌入式linux设备驱动开发_第2页
第2页 / 共14页
嵌入式linux设备驱动开发_第3页
第3页 / 共14页
嵌入式linux设备驱动开发_第4页
第4页 / 共14页
嵌入式linux设备驱动开发_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《嵌入式linux设备驱动开发》由会员分享,可在线阅读,更多相关《嵌入式linux设备驱动开发(14页珍藏版)》请在金锄头文库上搜索。

1、www.embedu.org,嵌入式Linux C编程入门(第2版) (By Farsight),http:/ 设备驱动的基本概念 设备驱动程序的基本功能 设备驱动的运作过程 常见设备驱动接口函数 简单的skull驱动的编写过程 LCD设备驱动程序编写步骤,www.embedu.org,设备驱动简介,设备驱动程序是内核的一部分,它完成以下的功能。 对设备初始化和释放。 把数据从内核传送到硬件、从硬件读取数据。 读取应用程序传送给设备文件的数据和回送应用程序请求的数据。 检测和处理设备出现的错误。,www.embedu.org,设备驱动程序的特点,内核代码 内核接口 内核机制和服务 可装载 可设

2、置 动态性,www.embedu.org,模块编程,Linux内核中采用可加载的模块化设计(LKMs,Loadable Kernel Modules),一般情况下编译的Linux内核是支持可插入式模块的,也就是将最基本的核心代码编译在内核中,其他的代码可以选择在内核中或者编译为内核的模块文件。 Linux设备驱动属于内核的一部分,Linux内核的一个模块可以以两种方式被编译和加载。 直接编译进Linux内核,随同Linux启动时加载; 编译成一个可加载和删除的模块,使用insmod加载(modprobe和insmod命令类似,但依赖于相关的配置文件)、rmmod删除。这种方式控制了内核的大小,

3、而模块一旦被插入内核,它就和内核其他部分一样。,www.embedu.org,模块相关命令,lsmod rmmod insmod和modprobe mknod,www.embedu.org,模块编程流程,代码编程 模块编译 模块加载,www.embedu.org,字符设备驱动编写,设备驱动程序流程 基本操作open和release 基本操作read和write,www.embedu.org,块设备驱动编写,块设备通常指一些需要以块(如512字节)的方式写入的设备,如IDE硬盘、SCSI硬盘、光驱等。,www.embedu.org,块设备驱动编写流程,www.embedu.org,简单的skul

4、l驱动实例,skull驱动是最为简单的驱动程序,这里的设备也就是一段内存,实现简单的读写功能。通过完整的skull驱动的编写,读者可以了解到整个驱动的编写流程 skull驱动主要完成的是对一段内存的读写,驱动程序仅实现了简单的read、write、open、release等功能,www.embedu.org,LCD驱动编写实例,LCD控制器内部结构,www.embedu.org,LCD驱动实例,Framebuffer 关键数据结构 fb_var_screeninfo fb_fix_screeninfon fb_cmap fb_info struct fb_ops,www.embedu.org,LCD驱动中的主要函数,s3c2410fb_init s3c2410fb_cleanup s3c2410fb_probe s3c2410fb_suspend s3c2410fb_resume,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号