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
ldd3
class_create(),device_create(),device_create_file()
开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点(包括
ldd3
中不少例子也是这样),实际上现在Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev
hustyangju
·
2014-03-11 16:00
struct
文件系统
linux驱动
Linux设备驱动模型 .
尽管
LDD3
中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。
TopicDev
·
2014-02-20 09:00
网卡驱动1-移植snull到linux-3.0.8
ldd3
的代码版本太低了,我在此把它移植到linux-3.0.8并提供调试方法,希望对一些人有帮助可以与
ldd3
提供的源码比较这看。timeout那块有点问题,就不演示了。
xxxxxlllllxl
·
2014-02-07 11:00
linux
内核
linux内核
LDD3
源码分析之块设备驱动程序
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz编译环境:Ubuntu10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/sbull 一、块设备驱动基本操作我们从init函数开始分析,sbull的init函数内容如下:403staticint__initsbull_init(void) 404{ 405inti; 40
liuhaoyutz
·
2014-01-27 17:00
linux
kernel
ldd3
源码编译之 scullc 字符设备驱动
25381054-id-3261527.html使用内核版本-linux-3.2错误1:make -C /lib/modules/3.2.0/buildM=/home/wrk/works/drivers/
ldd3
yapingmcu
·
2014-01-22 11:00
CFLAGS was changed 错误
LDD3
转自:http://blog.chinaunix.net/uid-24467128-id-3125691.html错误现象scripts/Makefile.build:49:***CFLAGSwaschangedin"/*/Makefile".Fixittouseccflags-y。停止。make[1]:***[_module_/"目录"/]错误2make:***[default]错误2出错原因应
yapingmcu
·
2014-01-22 11:00
ldd3
找不到/linux/config.h
转自:http://blog.chinaunix.net/uid-27120815-id-3416562.html在编
ldd3
的模块时,提示找不到此文件,在/include/linux下确实没有,网上搜索了下
yapingmcu
·
2014-01-22 11:00
块设备驱动注意事项
将
ldd3
(linxudevicedriver3)中块设备驱动部分的代码在redhat6.3下编译时,会出现很多问题,主要是由于
ldd3
示例代码使用的内核版本较低(2.6.10版本),对于块设备子系统,
heiden_deng
·
2014-01-20 18:00
linux内核中的min、max函数
这些天为了整理一下前段时间看
ldd3
时所学的驱动知识,所以就去看了看usb驱动。不看不知道,一看吓一跳,里面有很多语法我发现用的太好了,不像我们平时那样写代码。里面写的代码真是太好了。
zdf511391565
·
2013-12-16 09:00
Linux设备驱动程序学习-USB 驱动程序
Linux设备驱动程序学习(16)-USB驱动程序(一)从此文档开始,内核使用2.6.29.4很久没有写《
LDD3
》的学习笔记了,趁着做项目的机会,学习一下USB的驱动程序,并写学习笔记。。
zdf511391565
·
2013-12-13 16:00
Linux内核相关书籍
Linux内核驱动书籍:1.LinuxDeviceDriver3rdEdition 中文版:http://oss.org.cn/kernel-book/
ldd3
/2.Qemu详解http://people.cs.nctu.edu.tw
wuxiaoer717
·
2013-12-11 21:00
进程与内存3-内存管理(解析并获取高低端内存)
ldd3
的一段话:高效的块驱动对于性能是重要的--不只是为在用户应用程序的明确的读和写.现代的有虚拟内存的系统将不需要的数据移向(希望地)二级存储中,它常常是一个磁盘驱动器.块驱动是核心内存和二级存储之间的导管
xxxxxlllllxl
·
2013-12-11 14:00
linux
内存
内存管理
ARM
linux内核
LDD3
sbull 模块
http://hi.baidu.com/hk2305621/item/f0e6420bd6b16a8802ce1b2d左稚幻移植sbull至kernelversion>2.6.31 最近在看
LDD3
chj90220
·
2013-11-08 21:00
sbull
对于struct file_operations中ioctl消失的学习笔记
这次重游《
LDD3
》获益良多,其值对于structfile_operations中ioctl的消失也让我长了不少见识。
gaoguoxin2
·
2013-11-05 11:00
TQ2440在linux下的LED驱动程序
学习驱动程序不久,看
LDD3
大概有4章吧,最开始写了个helloworld驱动,后来是个面向内存的字符设备驱动,后者让我清楚了量子和量子集的使用,但是没有个真正的,肉眼看得见的设备真是有点不爽
hwmt2012
·
2013-10-30 14:00
块设备驱动1--自编ramdisk(在linux-3.2.36上的新接口)
这是块设备驱动的第一期,我们就从
ldd3
的sbull开始吧,但是
ldd3
用的linux版本太老了,你直接用它的例子在linux-3.2.x上是很麻烦的。我主要做的就是在高版本上的移植。
xxxxxlllllxl
·
2013-10-26 15:00
内存
ARM
移动设备
linux内核
自娱自乐9之Linux DMA使用1(三星平台DMA分析)
和以前一样,我不说dma基础知识,你可以看看
ldd3
这次我说的是三星平台的dma,不是三星的某款芯片的dma使用。这主要得益于三星公司统一了接口。
xxxxxlllllxl
·
2013-10-18 12:00
ARM
移动设备
linux内核
LDD3
第七章 timer
下面是从源代码抽离出来的与timer有关的代码。#include #include #include #include #include #include #include #include #include #include #include #include intdelay=HZ;/*thedefaultdelay,expressedinjiffies*/ module_param(
chj90220
·
2013-10-17 14:00
LDD3
scull pipe 模块
LDD第六章scullpipe驱动:演示休眠与唤醒scullpipe结构体:structscullp_dev{ wait_queue_head_tinq,outq;/*readandwritequeues*/ char*buffer,*end;/*beginofbuf,endofbuf*/ intbuffersize;/*usedinpointerarithmetic*/ char*rp,*wp;
chj90220
·
2013-10-14 17:00
LDD3
sleepy 模块
LDD3chapter6sleepy模块在源代码的misc-modules文件夹中。是一个简单的休眠-唤醒的例子。sleepy.c/* *sleepy.c--thewritersawakethereaders * *Copyright(C)2001AlessandroRubiniandJonathanCorbet *Copyright(C)2001O'Reilly&Associates * *Th
chj90220
·
2013-10-14 10:00
ldd
sleepy
[置顶] 《Linux总线、设备与驱动》自己写的demo
Android2.3及Linux2.6.29内核模拟器版本编译与调试
ldd3
部分讲述总线驱动match以及设备驱动probe等,见Linux总线、设备与驱动——
ldd3
中demo分析一、驱动1.总线驱动功能
tankai19880619
·
2013-09-16 17:00
《Linux总线、设备与驱动》
ldd3
中demo分析
说明:本文基于Android2.3和Linux2.6;其他版本仅供参考。Android2.3及Linux2.6.29内核模拟器版本编译与调试一、古老方式(不支持热插拔)1.开机前硬件设备已经插入总线;2.操作系统加载总线驱动,开始扫描设备、并为其申请structdevice结构,最后挂入总线驱动devices链表;3.操作系统加载设备驱动,注册structdevice_driver结构,然后去总线
tankai19880619
·
2013-09-13 11:00
再读
LDD3
前言
毕业后的工作多是与平台相关,驱动相关,现在决定在这一段迷茫期把
LDD3
这本经典书在读一遍,并利用博客把读的过程记录下来,按章节为单位,由于个人语言组织能力不强,主要是摘抄每张的主题,中心思想。
HAOMCU
·
2013-08-24 19:00
内核poll和select系统调用的图解(1)-poll系统调用的整体结构图
虽然五年前就学了驱动中poll方法的实现,
LDD3
的描诉也是比较详细的,但当时我是初学者,理解的不够深入,就算学了也很快就还给了
LDD3
。
u011279649
·
2013-08-07 10:00
设备模型7之固件开发(实例)
Ldd3
:作为一个驱动作者,你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面.硬件市场的许多地方的竞争是如此得强烈,以至于甚至一点用作设备控制固件的EEPROM的成本制造商都不愿意花费.因此固件发布在随硬件一
xxxxxlllllxl
·
2013-07-20 15:00
LDD3
源码分析之poll分析
LDD3
源码路径:examples/scull/pipe.c examples/scull/main.c本文分析
LDD3
第6章的poll(轮询)操作。
qduningning
·
2013-07-18 16:00
设备模型6之热插拔(实例,同时分析了usb的热插拔)
了解一下热插拔
Ldd3
的话:现在,随着USB的出现,CardBus,PCMCIA,IEEE1394,和PCI热插拔控制器,Linux内核需要能够可靠地运行不管什么硬件从系统中增加或去除.这产生了一个额外的负担给设备驱动作者
xxxxxlllllxl
·
2013-07-11 17:00
设备模型5之总线、设备、驱动(实例,简单演示probe过程)
Ldd3
的话:许多驱动作者将不会需要这里涉及的材料。这个水平的细节通常在总线级别处理,并且很少作者需要添加一个新总线类型。这个信息是有用的,但是,对任何人好奇在PCI,USB等层面的里面发生
xxxxxlllllxl
·
2013-07-10 17:00
网址收集备用
www.jbxue.com/ 脚本学堂http://book.51cto.com/art/201103/248042.htm C语言在线参考http://oss.org.cn/kernel-book/
ldd3
darennet
·
2013-06-04 09:00
Linux设备驱动程序学习-Linux设备模型(总线、设备、驱动程序和类)
文章的例子和实验使用《
LDD3
》所配的lddbus模块(稍作修改)。总线总线是处理器和一个或多个设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟"platform"总线。
wangpengqi
·
2013-05-29 14:00
LDD3
源码分析之poll分析
LDD3
源码分析之poll分析分类:
LDD3
源码分析2012-03-2718:431086人阅读评论(1)收藏举报structtable测试events数据结构descriptor作者:刘昊昱 博客:http
manshq163com
·
2013-05-28 16:00
LDD3源码分析
Linux并口设备驱动程序设置
参考地址:http://oss.org.cn/kernel-book/
ldd3
/ch09s03.html13脚接led的正输入,25脚接led的负极驱动代码:parport_drv.c#include
bg2bkk
·
2013-05-19 11:00
Linux设备驱动模型
尽管
LDD3
中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。
xiahouzuoxin
·
2013-05-18 14:00
LDD3
Chapter3 分配主设备号测试代码
mail:
[email protected]
:196568501author:DriveMonkeyphone:13410905075#include #include #include #include MODULE_LICENSE("DualBSD/GPL"); staticdev_tg_dev=0; staticintmmap_init(void) { dev_td
peng654321
·
2013-05-13 16:00
编译
LDD3
的scull驱动问题总结
由于Linux内核版本更新的原因,
LDD3
(v2.6.10)提供的源码无法直接使用,下面是本人编译scull源码时出现的一些问题及解决方法。
xiahouzuoxin
·
2013-05-10 21:00
简单字符设备驱动程序
实验中使用主动分配主设备号,按照
LDD3
中说的最好是自动分配设备号,这里只是为了理解。
xiahouzuoxin
·
2013-05-07 19:00
Linux内核模块LKM编译-自制Makefile模板
根据
LDD3
的内核模块makefile和原理说明,我根据自己的需要做了适当的修改使得这个Makefile脚本可以方便被应用于不同的简单模块编译,并可以在模块需要编译进内核的时候直接放入内核源码目
bugouyonggan
·
2013-04-23 17:00
makefile
PCI设备的DMA映射操作详解
上周认真学习了
LDD3
第15章直接内存访问部分,这周调试PCI的网卡和视频采集卡,结合代码对DMA映射有了进一步的理解,这里按照LDD315章的顺序总结一下,记一下笔记,以后忘了再来翻,本人刚毕业1年菜鸟
skyflying2012
·
2013-04-14 17:00
Linux设备驱动程序学习(14)-Linux设备模型(各环节的整合)
《
LDD3
》中的(PCI总线)各环节的整合这部分内容作为参考资料,因为嵌入式Linux比较少用到PCI总线。看这部分内容一定要先熟悉一下l
hshl1214
·
2013-04-07 21:00
linux workqueue 原理解析
一、workqueue简介workqueue与tasklet类似,都是允许内核代码请求某个函数在将来的时间被调用(抄《
ldd3
》上的)每个workqueue就是一个内核进程。
qinxiongxu
·
2013-04-01 18:00
Linux设备驱动程序学习(13)-Linux设备模型(总线、设备、驱动程序和类)【转】
文章的例子和实验使用《
LDD3
》所配的lddbus模块(稍作修改)。
yuanzhangmei1
·
2013-03-21 20:00
LDD3
读书笔记----调试技术
内核编程带有它自己的,独特的调试挑战性.内核代码无法轻易地在一个调试器下运行,也无法轻易的被跟踪,因为它是一套没有与特定进程相关连的功能的集合.内核代码错误也特别难以重现,它们会牵连整个系统与它们一起失效,从而破坏了大量的能用来追踪错误的证据.内核中的调试支持这里,我们列出用来开发的内核应当激活的配置选项.除了另外指出的,所有的这些选项都在"kernelhacking"菜单,不管什么样的你喜欢的内
wuye110
·
2013-02-28 14:00
LDD3
读书笔记----内存映射
1.Linux中的内存管理Linux是,当然,一个虚拟内存系统,意味着用户程序见到的地址不直接对应于硬件使用的物理地址.虚拟内存引入了一个间接层,它允许了许多好事情.有了虚拟内存,系统重运行的程序可以分配远多于物理上可用的内存;确实,即便一个单个进程可拥有一个虚拟地址空间大于系统的物理内存.虚拟内存也允许程序对进程的地址空间运用多种技巧,包括映射成员的内存到设备内存.Uservirtualaddr
wuye110
·
2013-02-28 13: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
LDD3
读书笔记------时间, 延时, 和延后工作
测量时间流失使用jiffies计数器j=jiffies;/*readthecurrentvalue*/内核输出4个帮助函数来转换以jiffies表达的时间值,到和从这些结构:#include unsignedlongtimespec_to_jiffies(structtimespec*value); voidjiffies_to_timespec(unsignedlongjiffies,str
wuye110
·
2013-02-28 10:00
LDD3
读书笔记----中断处理
一个中断不过是一个硬件在它需要处理器的注意时能够发出的信号.Linux处理中断非常类似它处理用户空间信号的方式.对大部分来说,一个驱动只需要为它的设备中断注册一个处理函数,并且当它们到来时正确处理它们.中断注册intrequest_irq(unsignedintirq,irqreturn_t(*handler)(int,void*,structpt_regs*),unsignedlongflags
wuye110
·
2013-02-28 09:00
LDD3
读书笔记------总线, 设备, 和驱动,类
总线一个总线是处理器和一个或多个设备之间的通道.为设备模型的目的,所有的设备都通过一个总线连接。设备模型表示在总线和它们控制的设备之间的实际连接.在Linux设备模型中,一个总线由bus_type结构代表,定义在.这个结构看来象:structbus_type{ char*name; structsubsystemsubsys; structksetdrivers; structksetde
wuye110
·
2013-02-27 11:00
LDD3
读书笔记-----Linux 设备模型
2.6设备模型2.6设备模型提供了这个抽象.现在它用在内核来支持广泛的任务,包括:电源管理和系统关机这些需要一个对系统的结构的理解.例如,一个USB宿主适配器不可能被关闭,在处理所有的连接到这个适配器的设备之前.这个设备模型使能了一个按照正确顺序的系统硬件的遍历.与用户空间的通讯sysfs虚拟文件系统的实现被紧密地捆绑进设备模型,并且暴露它所代表的结构.关于系统到用户空间的信息提供和改变操作参数的
wuye110
·
2013-02-27 10:00
Class create, device create, device create file
www.hovercool.com/en/Class_create,_device_create,_device_create_file开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点(包括
ldd3
williamlin3
·
2013-02-24 17:00
LDD3
读书笔记----IO端口和IO内存
1.I/O寄存器和常规内存不管硬件寄存器和内存之间的强相似性,存取I/O寄存器的程序员必须小心避免被CPU(或者编译器)优化所戏弄,它可能修改希望的I/O行为.I/O寄存器和RAM的主要不同是I/O操作有边际效果,而内存操作没有:一个内存写的唯一效果是存储一个值到一个位置,并且一个内存读返回最近写到那里的值.因为内存存取速度对CPU性能是至关重要的,这种无边际效果的情况已被多种方式优化:值被缓存,
wuye110
·
2013-02-21 13:00
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他