在线问答
登录
直播中
zhengxiaoan
9年用户
14经验值
擅长:嵌入式技术 控制/MCU RF/无线
私信
关注
【OK210试用体验】之Linux下简单字符驱动程序
大家好,今天跟你们分享一个简单字符驱动程序。
1.首先简单了解一下
在Linux系统中设备分为三种类型:字符驱动、块设备驱动和网络接口设备。字符设备是指那些只能一个字符一个字符按照先后顺序进行读写的设备。而块设备是指那些可以从设备的任意位置读取指定长度数据的设备,不必按照先后顺序进行读取。
常见的字符设备有鼠标、键盘、串口等,常见的块设备有硬盘、U盘、SD卡、光盘等。在Linux中用ls -l命令可以看到第一列的开头字母为c的就是字符设备(character),开头字母为b的就是块设备(block)。
然而
Linux
驱动程序分为两种形式:一种是直接编译进内核,另一种是编译成 module 形式,然后在需要该驱动 module 时手动加载。对于前者,还有待学习。
Module
形式的驱动, Linux 提供了两个命令用来加载: modprobe 和 insmod (本帖用后者)。
使用
insmod
加载驱动
module
时,需要让驱动
module
为设备做一些初
始化动作,主要目的是让 Linux 内核知道这个设备 ( 或者说 module?) ,以及在以后对该设备进行操作(如 open , read ,write 等等)时,
让
Linux
内核知道,本
module
拥有哪些函数可以服务于系统调用。
每个重要的模块都需要一个清除函数,该函数在模块被移除前注销接口并向系统中返回所有资源。如果一个模块未定义清除函数,则内核不允许卸载该模块。
其次知道
module_init( ) 和 module_exit(
) 为相对应的一对系统调用。
2.所需源代码
@内核源码 linux-2.6.35.7tgz;
@12.c(简单自作的字符驱动源码);
3.字符驱动程序步骤
(1)首先解压好内核源码,打开终端
进入drivers/char/目录下
建立一个12.c文件
文件12.c的内容如下
(2)在内核源码处添加12.c驱动的支持
[color=black !important]
[color=black !important]
修改drivers/char 目录下的Kconfig文件,
[color=black !important]
[color=black !important]
添加如下内容
(3)修改drivers/char
目录下的Makefile文件 命令#gedit Makefile
添加如下内容
(4)进入内核根目录下配置内核,命令#cd /opt/linux-2.6.35.7-gec-v3.0
输入#make menuconfig
按空格键进入
按空格键进入
(5)设置
为动态后,退出并保存
(6)使用命令 make modules
(7)在drivers/char/ 目录下面会生成一个12.ko的文件
(8)
将它复制到
开发板
下,用命令insmod 12.ko挂载驱动
就可以看到结果。
回帖
(2)
zhengxiaoan
2015-7-22 23:39:20
这里说明一下
一般按正常的逻辑,搭建开发环境完之后,就该接着学习一个helloworld的内核模块,然后才来学习字符驱动程序,但是我这里就不重复写了,
这里说明一下
一般按正常的逻辑,搭建开发环境完之后,就该接着学习一个helloworld的内核模块,然后才来学习字符驱动程序,但是我这里就不重复写了,
举报
郎中令2000年
2015-7-23 00:21:49
还没有学到驱动,不过看起来很有意思!谢谢分享!
还没有学到驱动,不过看起来很有意思!谢谢分享!
1
举报
更多回帖
rotate(-90deg);
回复
相关帖子
驱动
之路-
简单字符
设备
驱动程序
513
【
OK210
试用
体验】
字符
驱动
之
LED灯
驱动
2964
【
OK210
试用
体验】4.2
Linux
下
驱动
的编写---
驱动程序
设计原理篇
3059
【
OK210
试用
体验】
linux
字符
驱动
框架
2407
【
OK210
试用
体验】
之
eeprom
驱动
3161
【
OK210
试用
体验】功能篇(2)
Linux
字符
驱动
之
Key按键
驱动
4333
【
OK210
试用
体验】功能篇(5)
Linux
字符
驱动
之
PWM蜂鸣器
驱动
5509
【
OK210
试用
体验】功能篇(7)
Linux
字符
驱动
之
ADC模数转换
驱动
4492
【
OK210
试用
体验】功能篇(6)
Linux
字符
驱动
之
红外遥控
驱动
(待续)
4936
【
OK210
试用
体验】功能篇(1)
Linux
字符
驱动
之
LED灯
驱动
13723
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分