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
字符驱动
设备驱动-----
字符驱动
globalmem(cdev)
#include <linux/module.h> #include <linux/init.h> #include <linux/cdev.h> #include <linux/errno.h> #include <linux/mm.h> #include <linux/types.h> #include <linux
runfeel
·
2013-07-05 23:00
global
设备驱动-----
字符驱动
globalmem(cdev)
#include #include #include #include #include #include #include #include #include #include #include #defineGLOBAL_MAJOR0 #defineGLOBAL_MAXMEM0x1000 #defineDEV_NAME("globalmem") intglobalmem_major=GLO
yf210yf
·
2013-07-05 23:00
虚拟
字符驱动
,申请n页内存,使用mmap映射到应用程序空间,用户就可以直接访问不需要任何同步机制
编写char_mmap.c文件#include#include#include#include#include#include#include#include#include#include#include#include#include#defineEB_ISAP5000_MAJOR_VIO212#defineEB_ISAP5000_DEVICE_NAME"isap5000_vio"#defin
ushyun
·
2013-06-27 16:00
字符驱动
printk问题
mmap映射
VP信号量
内核用户数据同步
Linux LCD驱动中framebuffer的研究
Linux本身实现了FrameBuffer驱动(
字符驱动
)便于应用用于层调用,实现的文件是/drivers/video/fbmem.c文件:staticconststructfile_operationsfb_fops
shareCode
·
2013-06-23 16:00
字符驱动
#include #include #include #include #include MODULE_LICENSE("GPL"); #defineMAJOR_NUM100 intg_val; staticssize_tglobal_read(structfile*filp,char__user*buf,size_tlen,loff_t*off) { intret; charval[20
yf210yf
·
2013-06-19 23:00
对Linux的进程内核栈的认识
比如,有一个简单的
字符驱动
实现了open方法。在这个驱动挂载后,应用程序对那个驱动所对应的设备节点执行open操作,这个应用程序的open其实就通过glib库调用了Linux的open系
kevin_hcy
·
2013-06-14 10:00
ok6410学习笔记(10.硬件访问之led控制2)
混杂设备驱动的ioremap见ok6410学习笔记(9.混杂设备驱动及硬件访问)简单
字符驱动
的ioremap驱动memdev.c/************************************
qq418674358
·
2013-06-09 12:00
驱动种类
USB 中断 LCDIICIIS SPI 摄像头触屏按键声卡 网卡 SATA PCI-ExpressBSP GPIO设备种类:
字符驱动
u010779194
·
2013-05-25 09:00
ok6410学习笔记(5.阻塞
字符驱动
)
本节难点:1.重点在理解阻塞型设备驱动和内核信号量的区别,详细在内核信号量那节有说明。2.理解本节的几个重要函数,驱动的结构。本节知识点: 细节知识点:1.在判断是否阻塞进程的时候,使用了while的好处是,可以避免wakeup唤醒的进程不是现在你想唤醒的进程,因为wakeup是唤醒等待队列中的一类进程,而不是一个。所以在wakeup的使用中要伴随着 阻塞条件的赋值(可能是全局变量也可能是file
qq418674358
·
2013-05-23 16:00
ok6410学习笔记(4.ioctl
字符驱动
)
写了几篇文章发现,自己的总结方式有些问题进行了如下调整: 1.对于驱动的学习应该注重的是驱动的结构,module_init里面的结构,read,write,ioctl里面的结构,日后的文章会详细结构部分。 2.对于知识点的总结,应该加强对函数的总结,函数是一个很容易忘记的东西(因为不常用)。 本节难点: 1.ioctl的参数传递,和cmd命令的理解。
qq418674358
·
2013-05-23 11:00
ok6410学习笔记(2.简单
字符驱动
)
最近在看国嵌的
字符驱动
的教学,可能是刚刚入手驱动很不适应,所以将一些知识点总结如下: 从如下几个方面进行总结 1.
字符驱动
基础知识和.
字符驱动
程序设计的流程 2.
字符驱动
的过程(如何从应用层控制内核模块的
qq418674358
·
2013-05-13 22:00
字符驱动
之四阻塞IO(等待队列)
我们经常看到read的时候没有数据可读,而有时却是write的时候缓冲区已 满写不进去。而应用程序不关心这个,只关心我要的数据何时能读取出来,或者我 写的数据何时才能写进去。因此这样应该要阻塞进程,直到有数据可读或者有内存 可写。那我们就来看看几个概念和问题: 1)何为进程睡眠? 2)是否什么情况下都可以睡眠? 3)既然睡眠了,如何唤醒? 4)如何操作阻塞I/O?
anpan1045535101
·
2013-05-13 21:00
自己写
字符驱动
示例linux2.4
1.最近研究了下
字符驱动
,现在将过程记录下来。2.首先应该搞明白你要再那个内核下编写驱动,2.4xor2.6x???
wesleyluo
·
2013-05-08 17:00
浅谈linux字符设备注册
一、 老方法:如果你深入浏览2.6内核的大量驱动代码,你可能注意到有许多
字符驱动
使用这种方法.你见到的是还没有更新到2.6内核接口的老代码.因为那个代码实际上能用,这个更新可能很长时间不会发生
hunanchenxingyu
·
2013-05-04 14:00
s5pv210_gpio驱动及其在android2.3.1下jni调用
1、编写GPIO驱动并编译为模块完全按照linux驱动的编写方式,封装为标准的linux
字符驱动
2、使用C语言编写测试程序编写、编译一个操作led的程序进行驱动测试以上两步可参考《s5pv210-gpio
TopicDev
·
2013-04-17 09:00
字符设备驱动程序学习笔记二
字符驱动
程序1设备号 字符设备通过字符设备文件来存取 ls-l如果输出的第一列是c标识,说明该文件是字符设备文件 设备文件项中的两个数分别为主设备号/次设备号 设备文件与设备驱动通过主设备号建立联系
retacn_yue
·
2013-04-04 10:00
字符设备驱动程序学习笔记二
字符驱动
程序 1 设备号 字符设备通过字符设备文件来存取 ls -l 如果输出的第一列是c标识,说明该文件是字符设备文件 设备文件项中的两个数分别为 主设备号/次设备号 设备文件与设备驱动通过主设备号建立联系
岳振华
·
2013-04-04 10:00
linux
字符设备
fromhere:字符设备http://blog.163.com/sunshine_linting/blog/static/44893323201181102957282/ 字符设备是一种按字节来访问的设备,
字符驱动
则负责驱动字符设备
ss0429
·
2013-03-19 20:00
_IO, _IOR, _IOW, _IOWR 宏的用法与解析
今天在写
字符驱动
验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里
rain0993
·
2013-03-05 11:00
LDD3读书笔记-----高级
字符驱动
操作
1. ioctl接口在用户空间,ioctl系统调用有下面的原型:intioctl(intfd,unsignedlongcmd,...); ioctl驱动方法有和用户空间版本不同的原型:int(*ioctl)(structinode*inode,structfile*filp,unsignedintcmd,unsignedlongarg); inode和filp指针是对应应用程序传递的文件描述符
wuye110
·
2013-02-28 13:00
近期学习计划 2013上半年
具体计划:1,用三天复习下PCB设计的相关知识和软件2,用三周时间复习C语言,数据结构,算法和编程提高3,用一周测试LWIP(无OS,有OS)4,用两周巩固linux下串口和网络编程,用一周回顾linux下
字符驱动
开发流程周六去图书馆查阅资料
liang890319
·
2013-02-28 09:00
LDD3读书笔记--
字符驱动
字符设备通过文件系统中的名子来存取.那些名子称为文件系统的特殊文件,或者设备文件,或者文件系统的简单结点;惯例上它们位于/dev目录.传统上,主编号标识设备相连的驱动,次编号被内核用来决定引用哪个设备。现代Linux内核允许多个驱动共享主编号,但是你看到的大部分设备仍然按照一个主编号一个驱动的原则来组织.依据你的驱动是如何编写的,你可以从内核得到一个你的设备的直接指针,或者可以自己使
wuye110
·
2013-02-20 09:00
并发字符设备驱动程序分析(二)
这是一个考虑了并发与竞态的
字符驱动
,同样也是利用内存作为字符设备,来编写一个
字符驱动
,该驱动没有涉及任何具体的硬件,废话少说,先上代码。
lwj103862095
·
2013-01-28 22:00
简单字符设备驱动程序分析(一)
这是一个简单的
字符驱动
,利用内存作为字符设备,来编写一个
字符驱动
,该驱动没有涉及任何具体的硬件,也未涉及并发、竞争、非阻塞等高级应用,废话少说,先上代码。
lwj103862095
·
2013-01-24 21:00
android内核
字符驱动
设备实战之----------总结篇
一、我们编写的内核驱动模块testdev.o,通过内核编译后,被编译打包进kernel/goldfish/arch/arm/boot/zImage中。二、android系统编译输出目录out/target/product/generic说明内含三个主要目录:root:打包成ramdisk.img镜像文件,安装到实际系统后,是系统的根目录rootdata:打包成userdata.img镜像文件,安装
hzw05103020
·
2013-01-15 11:00
android内核
字符驱动
设备实战之----------应用层测试程序篇
一、通过eclipse开发工具开发具有用户界面的测试程序。工程名称TestDev主程序源代码MainActivity.java如下:packagecom.example.testdev; importandroid.os.Bundle; importandroid.os.RemoteException; importandroid.app.Activity; importandroid
hzw05103020
·
2013-01-14 12:00
6410
字符驱动
编写的全过程
1.编写驱动代码2.编写调试驱动代码3.加载驱动代码到内核中 linux-2.6.38/drivers/char/......4.编译内核(1)makeclean(2)makedistclean(3)cpconfig_mini6410_s70_cx_v01 .config(4)makemenuconfig(5)make-j85.编译完成 使用ftp把内核(linux-2.6.38/arch/
taozi343805436
·
2013-01-11 10:00
android内核
字符驱动
设备实战之----------应用框架层aidl服务编程篇
总结:AIDL服务建立过程:1、定义AIDL接口。2、根据接口,通过编译器内部规则,自动编译生成内部静态抽象类ITestService.Stub,这个类继承了Binder类,并实现ITestService接口。3、创建一个继承这个ITestService.Stub类的具体类TestService4、通过系统服务(SystemServer)的服务管理器(ServiceManager.)把这个类作为服
hzw05103020
·
2013-01-10 18:00
android内核
字符驱动
设备实战之----------运行时库层jni动态库编程(应该是应用框架层)
一、预备知识及说明: 1、硬件抽象层的设备驱动动态库模块是标准C语言编写的,所以应用层的java程序不能直接调用,所以需要添加符合java规范的jniC++程序动态库。 2、android系统的java程序要调用jni中的接口方法,必须有一个类要同其对应 3、jni动态库模块在应用框架层添加,对jni服务提供统一的jni动态库服务 4、应用框架层jni服务源代码放在/android/framewo
hzw05103020
·
2013-01-09 17:00
I2C设备驱动的编写(二)
也就是我们今天的内容——基于I2C子系统的
字符驱动
。I2C子系统的代码分为三部分如图:Host:主机控制器驱动Device:设备驱动代码Core
bingqingsuimeng
·
2013-01-08 17:00
android内核
字符驱动
设备实战之----------硬件抽象层模块编程篇
一、预备知识及说明:1、硬件抽象层模块向上层提供接口,以便用户空间的程序通过该模块提供的接口访问内核空间的驱动程序。2、硬件抽象层模块是动态链接库文件(.so),它不属于内核层的,它是属于android系统Linux内核层的上层,因此它的源文件不能放在goldfish里。3、硬件抽象层模块的头文件源代码放在/android/hardware/libhardware/include/hardware
hzw05103020
·
2013-01-08 10:00
android内核
字符驱动
设备实战之----------内置C语言测试程序篇
一、测试之前,确保上篇的驱动程序已经安装成功,且在模拟器的/dev目录下,有此设备的设备文件,即有/dev/testdev设备文件二、进入到Android源代码工程的external目录,创建test目录: ~/Android$cdexternal ~/Android/external$mkdirtest三.在hello目录中新建test.c文件:#include #include #
hzw05103020
·
2013-01-07 10:00
android内核
字符驱动
设备实战之----------设备驱动程序篇
android内核
字符驱动
设备实战之设备驱动程序篇一.进入到kernel/goldfish/drivers目录,新建testdev目录: ~/Android$cdkernel/goldfish/
hzw05103020
·
2013-01-07 09:00
linux内核input子系统解析
因为input子系统已经完成了
字符驱动
的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、i
rain0993
·
2013-01-04 10:00
linux按键驱动
按键驱动,写成标准
字符驱动
。下面这个是这个是杨创提供的代码。
wuye110
·
2012-12-18 22:00
简单的
字符驱动
demo实验
简单的
字符驱动
demo实验1、实验目的:掌握简单字符设备驱动设计规范模式,设备节点创建方法,应用程序的设计和编写方法。
yaorongzhen123
·
2012-12-16 00:00
高级
字符驱动
学习--阻塞型I/0
提出问题:若驱动程序无法立即满足请求,该如何响应?比如:当数据不可用时调用read,或是在缓冲区已满时,调用write解决问题:驱动程序应该(默认)该阻塞进程,将其置入休眠状态直到请求可继续。 休眠:当一个进程被置入休眠时,它会被标记为一种特殊状态并从调度器运行队列中移走,直到某些情况下修改了这个状态,才能运行该进程。安全进入休眠两原则:1.永远不要在原子上下文中进入休眠。(原子上下文:在执行多个
GangsterPan
·
2012-11-29 10:00
字符驱动
程序second的例子
字符驱动
程序的例子:《设备驱动开发详解(宋宝华)》P206-208,编写的second的驱动.
luobin1984
·
2012-11-07 13:00
内核input子系统分析
因为input子系统已经完成了
字符驱动
的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。
skyflying2012
·
2012-10-22 17:00
Linux-2.6.38.8 移植参考
Linux-2.6.38.8移植参考 最近学习Linux有点迷茫,刚学会了
字符驱动
的编写但是却不知道下一步该干些什么,想学习Linux内核裁剪,但是苦于找不到资料,开发板自带的是Linux3.01,虽然我会编译内核却完全不知道如何去裁剪
cp1300
·
2012-10-21 19:00
串口的open操作(tty_open) .
根据前面的操作,串口作为
字符驱动
也已经注册到系统了,/dev目录下也有设备文件节点了。那接下来uart的操作是如何进行的呢?
Alan0521
·
2012-09-26 15:00
c
struct
Module
Semaphore
buffer
Signal
linux input子系统
因为input子系统已经完成了
字符驱动
的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。
FE421504975
·
2012-09-25 16:00
编译内核到模块(无需加载)
以helloworld为例:①把hello.c复制到内核代码下(具体放哪根据模块功能,比如
字符驱动
放在/drivers/char/下,并cd进入该目录下); ②修改配置菜单选项Kconfig:viKconfig
l461269717
·
2012-09-22 20:00
character
makefile
menu
LDD3读书笔记(第11章 高级
字符驱动
程序操作)
本章的目的是让读者知道:1.内核与用户空间同步2.如何使进程休眠(并唤醒)3.如何实现非阻塞I/O4.设备可读取或写入时如何通知用户空间#include 这个头文件声明了用于定义ioctl命令的所有的宏。它现在包含在中。_IOC_NRBITS_IOC_TYPEBITS_IOC_SIZEBITS_IOC_DIRBITS ioctl命令的不同位字段的可用位数。还有四个宏定义了不同的MASK(掩
hot_zcy2012
·
2012-09-06 22:00
LDD3读书笔记(第3章
字符驱动
)
#includedev_tdev_t是用来在内核里代表设备号的类型.intMAJOR(dev_tdev);intMINOR(dev_tdev);从设备编号中抽取主次编号的宏.dev_tMKDEV(unsignedintmajor,unsignedintminor);从主次编号来建立dev_t数据项的宏定义.#include"文件系统"头文件是编写设备驱动需要的头文件.许多重要的函数和数据结构在此定
hot_zcy2012
·
2012-09-06 20:00
linux内核input子系统解析
因为input子系统已经完成了
字符驱动
的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、i
bingqingsuimeng
·
2012-09-06 13:00
struct
File
report
Class
input
linux内核
S5PV210 GPIO驱动及其在android2.3.1下jni调用
1、编写GPIO驱动并编译为模块完全按照linux驱动的编写方式,封装为标准的linux
字符驱动
2、使用C语言编写测试程序编写、编译一个操作led的程序进行驱动测试以上两步可参考《s5pv210-gpio
S5PV210_DevBoard
·
2012-09-03 09:00
java
android
linux
Module
jni
include
Linux
字符驱动
中动态分配设备号与动态生成设备节点
在编写Linux内核驱动程序的时候,如果不动态生成设备号的话,需要自己手动分配设备号,有可能你分配的设备号会与已有设备号相同而产生冲突。因此推荐自动分配设备号。使用下面的函数:intalloc_chrdev_region(dev_t*dev,unsignedbaseminor,unsignedcount,constchar*name)该函数需要传递给它指定的第一个次设备号baseminor(一般为
Blaider
·
2012-09-02 23:00
简单的
字符驱动
例子包括读写、装载等
博主新开了个人站点,你也可以在这看到这篇文章,点击打开链接1、实验目的:掌握简单字符设备驱动设计规范模式,设备节点创建方法,应用程序的设计和编写方法。2、实验要求:(A.)在S3C2440(以tq2440和mini2440为平台验证的)平台上编写实现了读,写,定位的字符设备驱动程序(B.)编写应用程序,对所写的驱动程序进行测试3、实验步骤:(A.)创建实验目录,用mkdir命令来创建#mkdir
bonnshore
·
2012-08-31 12:00
Stream
String
Module
user
FP
串口的open操作(tty_open)
根据前面的操作,串口作为
字符驱动
也已经注册到系统了,/dev目录下也有设备文件节点了。那接下来uart的操作是如何进行的呢?
rockrockwu
·
2012-08-23 00:00
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他