豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 简单字符设备驱动程序 .
侵权投诉

简单字符设备驱动程序 .

简单字符设备驱动程序 .

Blog:doc.docsou.com

linux驱动程序开发步骤

1)查看原理图、数据手册,了解设备的操作方法。

2)在内核中找到相近的驱动程序,以它为模板进行开发,有时候需要从零开始。

3)实现驱动程序的初始化:比如向内核注册驱动程序,这样应用程序传入文件名时,内核才能找到相应的驱动程序。

4)设计所要实现的操作,比如open,read,write,close。

5)实现中断服务(不是必需的)

6)编译该驱动程序到中,或者用insmod命令加载。

7)测试驱动程序。

驱动框架

应用程序API接口read,open,write 是对应驱动程序上的

led_read,led_open,led_write的

1)写出驱动函数led_read,led_open,led_write

每个系统调用,驱动程序怎样和它对应起来??

2)定义一个file_operations结构,和应用层API对接,

Linux系统怎么知道去调用哪个驱动程序的file_operations??

3)根据设备类型和主设备号

例如应用层程序open("dev/led");根据打开的文件属性中的根据设备类型和主设备号,找到内核中注册了的file_operations结构来判断是哪个驱动程序。

所以,要将注册函数将主设备号和file_operations一起注册到内核

4)最后把驱动程序加载到内核

如module_init(memdev_init);

加载时,就调用驱动初始化函数,向内核注册

|--------------------------------------------------------------------|

| APP:open("dev/xxx");write();read() |

| 文件属性:设备类型 c 主设备号11 |

|--------------------------------------------------------------------|

| C库

第1页

TOP相关主题

热门文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部