linux 驱动学习之scull驱动的安装
2011-11-17 22:45
399 查看
在昨天scull驱动已经成功编译通过,于是可以安装驱动了。由于对linux 设备驱动程序3中没有彻底的理解。认为使用insmod后就可以使用scull提供的 app.c文件进行访问了。结果是失败了。于是在看了在回到下载scull源码的地方看了下那位同志写的说名。说需要使用scull_load脚本安装驱动,使用scull_unload脚本卸载驱动。回到下载的源码目录也看到果然有这两个文件,而且在回到Linux设备驱动开发书上看明了多了,原来是如下情况。
如果我们是在编写驱动的时候如果知道驱动的主版本及次版本号,我们可以直接在驱动中注册驱动和创建设备等,但是对于动态获取版本号的情况,就需要查询获取的版本号了。当我们使用insmod加载驱动模块后,可以在/proc/devices中 看到该驱动对应的主次版本号,根据这个就可以使用mknod来创建该驱动对应的设备了。当然实际过程比这个要复杂点,可以参照scull_load脚步中的过程,在《Linux设备驱动程序第三版》中对该脚步已进行了详细的描述。如果不想使用scull_load脚步我们手动也是可以达到目的的,你可以使用insmod
scull.ko后,使用cat /proc/devices察看加载模块对于的设备编号,然后自己使用mknod命令创建及设置权限,想自己手动试一试的可以参看着scull_load脚本进行即可,该脚本主要就是借助awk工具解析了一下而已。
对《Linux设备驱动程序第三版》第三章看来还需要在读一遍,一直把scull驱动读懂。呵呵
如果我们是在编写驱动的时候如果知道驱动的主版本及次版本号,我们可以直接在驱动中注册驱动和创建设备等,但是对于动态获取版本号的情况,就需要查询获取的版本号了。当我们使用insmod加载驱动模块后,可以在/proc/devices中 看到该驱动对应的主次版本号,根据这个就可以使用mknod来创建该驱动对应的设备了。当然实际过程比这个要复杂点,可以参照scull_load脚步中的过程,在《Linux设备驱动程序第三版》中对该脚步已进行了详细的描述。如果不想使用scull_load脚步我们手动也是可以达到目的的,你可以使用insmod
scull.ko后,使用cat /proc/devices察看加载模块对于的设备编号,然后自己使用mknod命令创建及设置权限,想自己手动试一试的可以参看着scull_load脚本进行即可,该脚本主要就是借助awk工具解析了一下而已。
对《Linux设备驱动程序第三版》第三章看来还需要在读一遍,一直把scull驱动读懂。呵呵
相关文章推荐
- linux 内核驱动学习之scull代码编译
- Linux内核驱动学习(一)----内核简介 | 配置 | 编译| 安装(PC平台下)
- Linux 学习笔记 (四)Ubuntu14.04 解决上网问题安装无线网卡驱动
- Linux 学习笔记 (四)Ubuntu14.04 解决上网问题安装无线网卡驱动
- Linux内核驱动学习(一)----内核简介 | 配置 | 编译| 安装(PC平台下)
- linux驱动学习--第二天:设备驱动概述(二)之安装虚拟环境用VmWare 搭建两台虚拟机
- Kobuki学习之一:Linux驱动安装(不使用ROS)
- (学习)linux驱动学习知识积累(一)
- 学习linux驱动经典书籍
- linux学习之--硬盘安装ubuntu方法(转自ubuntu中文论坛fff969)
- Linux学习-CentOS下vsftpd的安装和配置
- Linux驱动开发之LDD3中第三章scull注释详解
- Linux学习第一篇--安装CentOS7
- linux下驱动自动对焦学习总结
- linux学习——centos minimal安装vim
- Linux下如何安装Run文件格式NVIDIA显卡驱动
- LINUX安装网卡驱动时提示找不到.autoconf.h
- Linux学习记录--软件安装RPM|SRPM|YUM 推荐
- linux下ga-g31m-es2c v2.3 主板网卡atheros ar8132 驱动安装
- 【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之一