E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
字符设备驱动
LInux
字符设备驱动
程序
#include #include #include #include MODULE_LICENSE("GPL");// 设置这个模块的协议为 GPL #define MAJOR_NUM 2918 //主设备号 //声明Read函数 static ssize_t device_read(struct
ssj234
·
2011-11-08 18:53
linux
职场
程序
休闲
ALSA的ioctl - hwdep
hwdep模块简述
字符设备驱动
中,ioctl是一个很常见的IO设备操作函数,可以自定义cmd命令字并实现对应的设备IO控制。
sepnic
·
2011-11-03 15:00
LED
字符设备驱动
一、实验环境开发机环境 操作系统:ubuntu10.10 交叉编译环境:arm-linux-gcc4.4.1,安装位置/usr/local/arm/4.4.1/ 6410板子内核源码路径:/work/linux-2.6.36.2-v1.05/ 目标板环境:OK6410-A linux2.6.36二、实验原理 控制LED是最简单的一件事情,我们学
dengxianzhi
·
2011-11-01 13:00
struct
Module
File
user
测试
makefile
Linux驱动编程 step-by-step (二)
简单
字符设备驱动
1、主次设备号主设备号标识设备连接的的驱动,此设备号由内核使用,标识在相应驱动下得对应的设备在linux中设备号是一个32位的dev_t类型typedef __u32 __kernel_dev_t
jshazk1989
·
2011-10-30 16:00
编程
linux
Module
存储
“手把手教你学linux驱动开发”OK6410系列之02---LED
字符设备驱动
.
上一篇文章我们介绍了
字符设备驱动
程序的框架,本篇文章我们将操作真实的硬件---LED。
hare_Lee
·
2011-10-28 08:00
linux
struct
Module
测试
user
File
linux内核分析笔记----块I/O层
如果您记性好的话,应该记得我在linux设备驱动实例帖中说的最多的就是
字符设备驱动
程序,那么今天的块I/O层是一个和
字符设备驱动
相对应的设备。
laokaddk
·
2011-10-27 15:10
linux
职场
休闲
块I/O层
linux内核分析笔记
阻塞型
字符设备驱动
阻塞型
字符设备驱动
[概述]首先明确一点,不管你是睡眠、休眠还是阻塞,还是挂起,本质上都是把进程放到等待队列上。 [休眠的实现]休眠通过等待队列进行处理。
cjok376240497
·
2011-10-25 19:00
Linux设备驱动开发详解-第6章
字符设备驱动
(二)-支持2个globalmem
1支持两个globalmem设备的驱动程序1.1globalmem_two.c上一篇中globalmem仅仅作为使用private_data的范例,直接访问全局变量globalmem_devp会更加结构清晰。如果globalmem不只包括一个设备,而是同时包括两个或两个以上的设备,采用private_data的优势就会显现出来。在不对上一篇中代码的globalmem_read()、globalme
muyuyuzhong
·
2011-10-25 19:00
linux
struct
File
Module
user
buffer
Linux设备驱动开发详解-第6章
字符设备驱动
(一)-globalmem
驱动程序的关系...21.2设备类型...21.3设备文件...21.4主设备号和从设备号...21.5驱动程序与应用程序的区别...31.6用户态与内核态...31.7Linux驱动程序功能...32
字符设备驱动
程序框架
muyuyuzhong
·
2011-10-24 22:00
TQ2440在linux下的LED驱动程序
学习驱动程序不久,看LDD3大概有4章吧,最开始写了个helloworld驱动,后来是个面向内存的
字符设备驱动
,后者让我清楚了量子和量子集的使用,但是没有个真正的,肉眼看得见的设备真是有点不爽,查了些资料
dg1683wen
·
2011-10-22 22:06
Linux
TQ2440在linux下的LED驱动程序
学习驱动程序不久,看LDD3大概有4章吧,最开始写了个helloworld驱动,后来是个面向内存的
字符设备驱动
,后者让我清楚了量子和量子集的使用,但是没有个真正的,肉眼看得见的设备真是有点不爽
dg1683wen
·
2011-10-22 22:00
Linux下
字符设备驱动
程序的结构
首先,希望可以明确一下概念:1、 要说的是,驱动,必然是与内核紧密相连的底层程序;并且接口对用户是不可见的。所以你要想到的是如何把驱动和内核联系起来,第一个就想到了模块(modules),模块就像一个载体,一个容器,通过它,会把你写好的程序插入(装载)到内核可见的区域,从而使内核感知到你的驱动的存在,然后用户空间才能通过系统调用的形式联系到驱动,从而完成它的任务,所以你首要了解模块。2、 驱动位于
dreambegin
·
2011-10-21 23:00
linux
struct
list
File
Module
user
Linux驱动程序开发 - 设备控制接口
设备控制接口(ioctl函数)回想一下我们在
字符设备驱动
中介绍的structfile_operations结构,这里我们将介绍一个新的方法:i
zjc0888
·
2011-10-20 11:00
linux
struct
user
IOC
程序开发
linux内核
面向内存的
字符设备驱动
程序
这个程序主要参考ldd3的第三章来写,这一章主要通过介绍字符设备scull(SimpleCharacterUtilityforLoadingLocalities,区域装载的简单字符工具)的驱动程序编写,来学习Linux设备驱动的基本知识。scull可以为真正的设备驱动程序提供样板。下面这个驱动程序用于驱动字符设备mychar,参考scull源码。废话少说,直接上代码,后面再来慢慢解释:#inclu
dg1683wen
·
2011-10-20 01:00
linux字符cdev和inode的联系
好长时间没怎么看书了,最近把
字符设备驱动
部分又复习了一下,写个笔记.CharDeviceDriver相关数据结构:structcdev{structkobjectkobj;structmodule*owner
cuijianzhongswust
·
2011-10-19 14:00
linux
list
struct
File
Module
domain
linux驱动学习(四) linux
字符设备驱动
cdev
下面开始学习linux
字符设备驱动
,也是linux驱动中最简单的驱动模块。在内存中虚拟出一段空间作为字符设备,并为之编写些列的驱动程序。
ghostyu
·
2011-10-15 20:00
linux
struct
File
Module
user
linux内核
[置顶] “手把手教你学linux驱动开发”OK6410系列之03---LED
字符设备驱动
上一篇文章我们介绍了
字符设备驱动
程序的框架,本篇文章我们将操作真实的硬件---LED。
embedded_hunter
·
2011-10-14 16:00
linux
struct
Module
user
测试
File
[置顶] “手把手教你学linux驱动开发”OK6410系列之02---虚拟字符设备
本篇文章我们将介绍如何编写一个虚拟的
字符设备驱动
程序。
embedded_hunter
·
2011-10-14 14:00
linux
struct
Module
测试
File
makefile
class_create()和如果register_chrdev
相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个
字符设备驱动
为例,在驱动初始化的代码里调用
GangsterPan
·
2011-10-13 10:00
String
struct
Module
Class
linux内核
structure
简单
字符设备驱动
和自动创建设备文件
简单
字符设备驱动
和自动创建设备文件国庆花了两天时间把
字符设备驱动
重新学习了一下,发现自己之前学的几乎一半都忘得一干二净了,所以决定写成blog,以便以后会用到,也供初学者参考。
cjok376240497
·
2011-10-07 14:00
高级
字符设备驱动
-自动创建设备文件笔记
创建设备文件方法1)手工mknod创建2)自动自动创建(2.6内核)使用udev(mdev),它存在于应用层。在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备用device_create创建对应的设备例子:structclass*myclass=class_create(THIS_MODULE,"my_device_driver"); device_
jianchi88
·
2011-09-29 09:00
struct
Module
null
Class
高级
字符设备驱动
-自动创建设备文件笔记
创建设备文件方法 1)手工mknod创建 2)自动 自动创建(2.6内核) 使用udev(mdev),它存在于应用层。 在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备用 device_create创建对应的设备 例子:struct class *myclass = class_create(THIS_MODULE,"my_device
soboer
·
2011-09-29 09:00
文件
高级
字符设备驱动
-Poll设备方法笔记
POLL方法什么是POLL方法,功能是什么?系统调用(用户空间)驱动(内核空间)OpenOpenCloseReleaseReadReadWriteWriteIoctlioctlLseekLlseekSelectpollSelect系统调用(功能)Select系统调用用于多路监控,当没有一个文件满足要求时,select将阻塞调用进程 Int select(int maxfd, fd_set *re
jianchi88
·
2011-09-29 08:00
struct
File
table
null
Signal
代码分析
高级
字符设备驱动
-Poll设备方法笔记
POLL方法 什么是POLL方法,功能是什么? 系统调用(用户空间) 驱动(内核空间) Open Open Close Release Read Read Write Write Ioctl ioctl Lseek Llseek Select poll Sel
soboer
·
2011-09-29 08:00
方法
高级
字符设备驱动
-阻塞型
字符设备驱动
笔记
问题:当一个设备无法立即满足用户的读写请求时应当如何处理?例如:调用read时没有数据可读,但以后会有。调用write时没空间可以写,但设备暂时没有准备好接收数据这时候,驱动程序应当阻塞进程,使它进入睡眠,直到请求可以得到满足。 解决:阻塞方式是文件读写操作的默认方式,但应用程序员可以通过使用O_NONBLOCK标志来人为的设置读写操作为非阻塞方式(在中,在打开文件中指定)非阻塞方式时,调用re
jianchi88
·
2011-09-28 09:00
struct
File
user
测试
null
FP
高级
字符设备驱动
-阻塞型
字符设备驱动
笔记
问题: 当一个设备无法立即满足用户的读写请求时应当如何处理? 例如:调用read时没有数据可读,但以后会有。调用write时没空间可以写,但设备暂时没有准备好接收数据 这时候,驱动程序应当阻塞进程,使它进入睡眠,直到请求可以得到满足。 解决: 阻塞方式是文件读写操作的默认方式,但应用程序员可以通过使用O_NONBLOCK标志来人为的设置读写操作为非阻塞方式(在<linux/fc
soboer
·
2011-09-28 09:00
笔记
高级
字符设备驱动
-内核等待队列笔记
等待队列在Linux驱动程序设计中,可以使用等待队列来实现进程的阻塞,等待队列可以看作进程的容器,在进程时,将进程放入等待队列,当唤醒进程时,从等待队列中取出进程。第一种方法1)定义等待队列Wait_queue_head_t my_queue2)初始化等待队列Init_waitqueue_head(&my_queue)第二种方法定义并初始化等待队列宏:DECLARE_WAIT_QUEUE_HEA
jianchi88
·
2011-09-28 08:00
linux
UP
终端
高级
字符设备驱动
-内核等待队列笔记
等待队列 在Linux驱动程序设计中,可以使用等待队列来实现进程的阻塞,等待队列可以看作 进程的容器,在进程时,将进程放入等待队列,当唤醒进程时,从等待队列中取出进程。 第一种方法 1)定义等待队列 Wait_queue_head_tmy_queue 2)初始化等待队列 Init_waitqueue_head(&my_queue) 第二种方法 定义并初始化等待队列 宏:
soboer
·
2011-09-28 08:00
队列
高级
字符设备驱动
-Ioctl设备控制笔记
用户使用方法在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsinged long cmd,...)fd-文件描述符cmd-对设备的发出的控制命令...表示这是一个可选的参数,存在与否依赖于cmd驱动使用方法原型:int (*ioctl)(struct inode *inode, struct file *filp, unsigned int cmd
jianchi88
·
2011-09-27 11:00
高级
字符设备驱动
-Ioctl设备控制笔记
用户使用方法 在用户空间,使用ioctl系统调用来控制设备,原型如下: intioctl(intfd,unsingedlongcmd,...) fd-文件描述符 cmd-对设备的发出的控制命令 ...表示这是一个可选的参数,存在与否依赖于cmd 驱动使用方法 原型: int(*ioctl)(structinode*inode,structfile*filp,unsignedintc
soboer
·
2011-09-27 11:00
IOC
2.4、2.6字符设备注册对比
韦东山书本和视频讲的都是
字符设备驱动
都是2.4的接口 但大多新书早已经是讲2.6的接口了,如LDD3、国嵌、宋宝华的书 (1)早期版本的字符设备注册。
soboer
·
2011-09-24 13:00
字符
2.4、2.6字符设备注册对比
韦东山书本和视频讲的都是
字符设备驱动
都是2.4的接口但大多新书早已经是讲2.6的接口了,如LDD3、国嵌、宋宝华的书(1)早期版本的字符设备注册。
jianchi88
·
2011-09-24 13:00
简单
字符设备驱动
程序
linux驱动程序开发步骤1)查看原理图、数据手册,了解设备的操作方法。2)在内核中找到相近的驱动程序,以它为模板进行开发,有时候需要从零开始。3)实现驱动程序的初始化:比如向内核注册驱动程序,这样应用程序传入文件名时,内核才能找到相应的驱动程序。4)设计所要实现的操作,比如open,read,write,close。5)实现中断服务(不是必需的)6)编译该驱动程序到中,或者用insmod命令加
jianchi88
·
2011-09-21 14:00
简单
字符设备驱动
程序
linux驱动程序开发步骤 1)查看原理图、数据手册,了解设备的操作方法。 2)在内核中找到相近的驱动程序,以它为模板进行开发,有时候需要从零开始。 3)实现驱动程序的初始化:比如向内核注册驱动程序,这样应用程序传入文件名时,内核才能找到相应的驱动程序。 4)设计所要实现的操作,比如open,read,write,close。 5)实现中断服务(不是必需的) 6)编译该驱动程序到中,或
soboer
·
2011-09-21 14:00
程序
tony之linux driver_LDD3_scull
字符设备驱动
编译在新内核编译问题
在编译ldd3的scull程序的时候碰到编译不通过的情况,发现遇到的问题和下面的哥们遇到的问题一样,照着做了一下,解决问题,记录于此。/************************************************************************************************************************************
tony821224
·
2011-09-20 23:00
linux
struct
function
Module
makefile
Signal
字符设备驱动
之I2C设备驱动(2)
前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(newstyle)”。在介绍i2c设备驱动前首先认识下两个重要的结构体:structi2c_driver{ intid;
yicao821
·
2011-09-20 10:00
Algorithm
c
struct
Module
File
Class
字符设备驱动
之I2C设备驱动(1)
一、概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linuxI2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方法问题(对应第二种方法的好处)有:
yicao821
·
2011-09-20 10:00
Algorithm
c
算法
struct
linux内核
Pointers
linux驱动
1.
字符设备驱动
2.块设备驱动3.网络设备驱动4.USB设备驱动5.触摸屏设备驱动6.IIC设备驱动7.PCI设备驱动8.NAND设备驱动TBC
lztao82
·
2011-09-19 23:00
如何应用条件变量实现eCos
字符设备驱动
的阻塞读
(本文原创,转载请注明出处)在应用字符接口驱动程序的时候,我们常常需要通过提供阻塞读的这样的接口让等待驱动回应的线程尽快的释放出CPU的资源给其他线程。eCos在driver层次上提供了条件变量API以满足这个需要cyg_drv_cond_XXX同时要应用条件变量还必须创建一个mutex来配合条件变量的工作cyg_drv_mutex_XXX那么在具体的驱动程序中该如何实现它呢,下面以MINI244
rickleaf
·
2011-09-19 10:00
工作
api
测试
buffer
Build
Signal
Linux设备驱动工程师之路——高级
字符设备驱动
程序
Linux设备驱动工程师之路——高级
字符设备驱动
程序K-Style转载请注明来自于衡阳师范学院08电2 K-Style http://blog.csdn.net/ayangke,QQ:843308498
ayangke
·
2011-09-18 21:00
Linux设备驱动工程师之路——高级
字符设备驱动
程序
Linux设备驱动工程师之路——高级
字符设备驱动
程序 K-Style 转载请注明来自于衡阳师范学院08电2 K-Style http://blog.csdn.net/ayangke,QQ:843308498
womendu
·
2011-09-18 21:00
linux
Android日志系统分析之开篇
该日志系统基于在内核中实现的一个
字符设备驱动
logger(misc
字符设备驱动
)。通过该
字符设备驱动
,android分别提供了C/C++和Java层的日志输出函数接口。
fuyajun01
·
2011-09-18 19:00
java
android
jni
工具
字符设备驱动
之笔记-misc设备驱动分析
Linux包含了许多的设备驱动类型,而不管分类有多细,总会有些漏网的,这就是我们经常说到的“其他的”等等。在Linux里面,把无法归类的五花八门的设备定义为混杂设备(用miscdevice结构体来描述)。Linux/内核所提供的miscdevice有很强的包容性。如NVRAM,看门狗,DS1286等实时时钟,字符LCD,AMD768随机数发生器。 miscdevice共享
yicao821
·
2011-09-17 20:00
linux
struct
list
File
Module
Class
字符设备驱动
之LED-混杂设备驱动(misc)
misc_led.c#include#include#include#include#include#include#include#include#include#include#includestaticvolatileunsignedlong*gpfcon;//=(volatileunsignedlong*)0x56000050;staticvolatileunsignedlong*gpfd
yicao821
·
2011-09-17 20:00
struct
user
Module
File
null
class_create(),device_create自动创建设备文件结点
相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个
字符设备驱动
为例,在驱动初始化的代码里调用
liukun321
·
2011-09-17 18:00
c
struct
Module
null
Class
structure
Linux设备驱动工程师之路——简单
字符设备驱动
程序
Linux设备驱动工程师之路——简单
字符设备驱动
程序K-Style转载请注明来自于衡阳师范学院08电2 K-Style http://blog.csdn.net/ayangke,QQ:843308498
ayangke
·
2011-09-17 10:00
linux
struct
Semaphore
user
Module
File
Linux设备驱动工程师之路——简单
字符设备驱动
程序
Linux设备驱动工程师之路——简单
字符设备驱动
程序 K-Style 转载请注明来自于衡阳师范学院08电2 K-Style http://blog.csdn.net/ayangke,QQ:843308498
womendu
·
2011-09-17 10:00
linux
Qt Embedded中如何实现自己的keyboard
最近的项目是基于Qt,既然是嵌入式设备,难免就要在根据自己的平台来实现键盘的驱动部分,当然是属于Qt一层,而不是更底层的
字符设备驱动
。
liuysheng
·
2011-09-14 23:00
嵌入式
webkit
qt
Signal
keyboard
returning
字符设备驱动
之Buttons-中断
buttons.c#include#include#include#include#include#include#include#include#include#include#include#include#includestaticintmajor=0;staticstructclass*cls;/*gpecon0x56000040*//*gpfcon0x56000050*//*gpgcon
yicao821
·
2011-09-14 16:00
struct
Module
File
null
Class
makefile
字符设备驱动
之Buttons-轮询
buttons.c#include#include#include#include#include#include#include#include#include#includestaticintmajor=0;staticstructclass*cls;/*gpecon0x56000040*//*gpfcon0x56000050*//*gpgcon0x56000060*/staticvolati
yicao821
·
2011-09-14 16:00
struct
user
Module
File
null
Class
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他