
linux驱动开发
文章平均质量分 91
o倚楼听风雨o
人生如逆旅,我亦是行人。
展开
-
SD卡、TF卡、MMC卡以及eMMC芯片的介绍
一、SD卡 1、简介 SD卡为Secure Digital Memory Card, 即安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。 2、外观及引脚定义 3、特性原创 2016-09-23 21:25:01 · 41722 阅读 · 3 评论 -
GSM短信收发介绍
1、短消息收发的实现模式 Gsm收发短消息又分三种模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式现在用的很少了;TEXT 模式则只能发送ASCII 码,它不能发送中文的UNICODE码(确切地讲,从技术上来说是可以用于发送中文短消息的,但是国内的手机基本上不支持);而PDU 模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为PDU 格式,但PDU 模式被所有手机支持转载 2017-04-12 20:54:24 · 10627 阅读 · 1 评论 -
linux就是这个范儿之特种文件系统(4)
原文地址:http://blog.youkuaiyun.com/jiajun2001/article/details/158123319.4 devfs和sysfs devfs和sysfs它们来了,真的来了,一前一后来的,来得是那么突然,来得是那么悄无声息。一个脸色苍白,苍白得让人不寒而栗;一个眼光深邃,深邃的让人顿觉谦卑。人们一直在谈论着它们,据说先来的已经死了,死的很透彻,是被它的门人杀死的,而且居然是后转载 2016-11-02 20:33:00 · 433 阅读 · 0 评论 -
linux就是这个范儿之特种文件系统(3)
原文地址:http://blog.youkuaiyun.com/jiajun2001/article/details/145232139.3 tmpfs 前几天闲来无事翻微薄,有人写道:“曾经偷情被游街,如今二奶喊干爹;曾经撞人忙救人,如今撞人再杀人;曾经私情偷着干,如今淫乱存U盘;曾经献血为扶伤,如今慈善越重洋;曾经相好牵肚肠,如今小三炫富忙;曾经摩托都挺酷,如今地铁都追尾;曾经县长做皮卡,如今少年开宝马;转载 2016-11-02 20:29:03 · 401 阅读 · 0 评论 -
linux就是这个范儿之特种文件系统(2)
原文地址:http://blog.youkuaiyun.com/jiajun2001/article/details/142277839.2 procfs procfs之于Linux的重要程度就好比眼睛之于心。眼睛是心灵的窗口,直达心底;眼睛是心灵感知世界的大门,洞悉全局;眼睛是人与人之间心灵沟通的桥梁,展现彼此。 procfs是进程文件系统的缩写。这是一个伪文件系统(启动时动态生成的文件系统),用于用转载 2016-11-02 20:19:54 · 432 阅读 · 0 评论 -
linux就是这个范儿之特种文件系统(1)
原文地址:http://blog.youkuaiyun.com/jiajun2001/article/details/13505491 有一天,身体问心:“我要是痛了,医生会给我治,你痛了谁给你治啊?”于是心说:“我只能自己给自己治。”也许是因为这样,每个人都有治疗自己心中伤痛的方法。喝酒、唱歌、发火、发疯、找人说话、拼命狂奔,等等,等等。当年我上大学时,我们同宿舍的二哥就是喜欢拼命狂奔,结果就转载 2016-11-02 20:03:57 · 403 阅读 · 0 评论 -
Linux多线程编程之条件变量
前言 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待”条件变量的条件成立”而挂起;另一个线程使”条件成立”(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。1、函数说明 a、pthread_cond_init函数可以用来初始化一个条件变量。他使用变量attr所指定的属性来初始化一个条件变量,如果参数attr为空,那么它将使用缺省的转载 2016-11-02 17:32:46 · 969 阅读 · 0 评论 -
在Linux中使用线程
原文地址:http://blog.youkuaiyun.com/jiajun2001/article/details/126249231、第一个例子 在Linux下创建的线程的API接口是pthread_create(),它的完整定义是: int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_rou转载 2016-11-02 15:54:23 · 374 阅读 · 0 评论 -
iptables防火墙原理详解
原文地址http://seanlook.com/2014/02/26/iptables-example/1. netfilter与iptablesNetfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Tra转载 2016-09-19 19:20:58 · 6205 阅读 · 0 评论 -
select函数使用浅析
一、函数原型及参数说明 int select(int maxfdp, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); 返回值 : 负值:select错误,正值:某些文件可读写或出错,0:等待超时,没有可读写或错误的文件。 maxf原创 2016-09-18 19:32:58 · 6235 阅读 · 0 评论 -
select机制的驱动实现及原理
一、驱动实现select机制的步骤 1、首先初始化一个等待队列头 2、在驱动中实现poll函数,该函数只需做两件事情 a、使用poll_wait()函数将等待队列添加到poll_table中。 b、返回描述设备是否可读或可写的掩码。 3、在驱动的相应地方调用wake_up()函数,唤醒等待队列。 两点说明:原创 2016-09-18 20:40:40 · 4208 阅读 · 2 评论 -
container_of宏介绍
1、功能 根据一个结构体变量中的一个域成员变量的指针来获取指向整个结构体变量的指针。 2、定义 #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \原创 2016-09-18 21:41:21 · 635 阅读 · 0 评论 -
驱动调试之proc文件系统
一、思维导读 我们知道在/proc目录下存在一些文件,我们可以使用cat、echo命令来查询和设置一些系统的信息(比如查看内存的信息和cpu的信息等),可见/proc目录下的文件提供给我们和内核交互的功能。那么如果我们的驱动也有对应的proc文件,我们就可以和驱动进行交互,实时读取和修改驱动中变量的值,这样一来驱动调试就非常方便了!本文会给出proc的一些基本概念来加深对proc文件系统原创 2016-09-20 19:18:00 · 2753 阅读 · 0 评论 -
netfilter:开发一个hook函数
一、什么是hook函数 netfilter架构其实就是在一个packet流经系统时的多个关键点处设置了钩子,程序员可以为每一个钩子点注册一个监听器(即钩子函数,就是在packet流经这个钩子点时的一段处理代码),钩子函数将决定packet的下一个动作是什么!在钩子函数的代码最后需要决定netfiler框架接下来需要怎么处理packet,可以返回以下5种值: NF_ACCEP转载 2016-09-20 20:02:15 · 1684 阅读 · 0 评论 -
netfilter:开发一个match模块
一、说明 下图说明了Netfilter模块是如何运行的,它指出我们需要开发两个东西,一个是用户态的共享库so,一个是内核态的内核库ko。命名规则有讲究,如果模块叫Mymodules,那么内核态源代码一般命名为ipt_Mymodules.c,头文件为ipt_Mymodules.h,用户态源代码为libipt_Mymodules.c。 用户态和内核态的模块各有什么作用?用户态的转载 2016-09-20 20:46:39 · 1773 阅读 · 0 评论 -
开发一个字符设备驱动
1、什么是字符设备 1.1 基本概念 字符设备是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。 1.2 数据结构struct cdev//设备结构体{ struct kobject kobj; /* 内嵌的kobject 对象 */ s原创 2016-11-05 12:18:01 · 822 阅读 · 0 评论 -
FXS(le88266)工作原理介绍
1.FXS简介 所谓FXS(Foreign eXchange Station),是用来连接传统电话机使用的。FXS的另外一个功能,就是可以连接传真机,或是以外线的方式连接入商用交换机。其基本电路包括两部分:CODEC 与 SLIC(用户线路接口电路)。 经常和SLIC一起出现的另一个术语是SLAC(用户线语音处理电路),用来实现用户模拟语音的PCM编解码。即 SLAC包含了CODEC,而SL原创 2017-04-12 20:29:39 · 12730 阅读 · 1 评论