021.嵌入式linux驱动开发基础-分配设备号_第1页
021.嵌入式linux驱动开发基础-分配设备号_第2页
021.嵌入式linux驱动开发基础-分配设备号_第3页
021.嵌入式linux驱动开发基础-分配设备号_第4页
021.嵌入式linux驱动开发基础-分配设备号_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、北风网项目培训Linux驱动开发基础(2)讲师:韩老师 (北风网 )嵌入式Linux驱动开发驱动程序使用Linux用户如何使用驱动程序?使用驱动程序应用程序文件系统字符设备文件字符设备驱动块设备文件块设备驱动套接字协议栈网络设备驱动字符设备块设备网络接口设备驱动程序使用A: Linux用户程序通过设备文件(又名:设备节点)来使用驱动程序操作字符设备和块设备Q: 设备(字符、块)文件在何处?Contents 字符设备驱动程序知识点v设备号v创建设备文件v设备注册v重要数据结构v设备操作主次设备号字符设备通过字符设备文件来存取。字符设备文件由使用 ls -l 的输出的第一列的“c”标识。如果使用

2、ls -l 命令, 会看到在设备文件项中有 2 个数(由一个逗号分隔) 这些数字就是设备文件的主次设备编号。(举例察看/dev)设备号设备号用来做什么??设备号字符设备文件字符设备文件与字符驱动程序如何建立起对应关系?字符设备驱动主设备号字符设备文件主设备号字符设备驱动设备号作用v主设备号用来标识与设备文件相连的驱动程序。次编号被驱动程序用来辨别操作的是哪个设备。* 主设备号用来反映设备类型 *次设备号用来区分同类型的设备*主次设备号Q: 内核中如何描述设备号?A: dev_t*其实质为unsigned int 32位整数,其中高12位为主设备号,低20位为次设备号。Q: 如何从dev_t中分

3、解出主设备号?A: MAJOR(dev_t dev)Q: 如何从dev_t中分解出次设备号?A: MINOR(dev_t dev)分配主设备号Linux内核如何给设备分配主设备号?可以采用静态申请,动态分配两种方法静态申请v方法:1、根据Documentation/devices.txt,确定一个没有使用的主设备号2、使用 register_chrdev_region 函数注册设备号v优点:简单v缺点:一旦驱动被广泛使用, 这个随机选定的主设备号可能会导致设备号冲突,而使驱动程序无法注册。静态申请int register_chrdev_region(dev_t from, unsignedcount, const char *name)功能:申请使用从 from 开始的 count 个设备号(主设备号不变,次设备号增加)参数:from:希望

温馨提示

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

评论

0/150

提交评论