- 博客(54)
- 资源 (5)
- 收藏
- 关注
转载 实例解析linux内核I2C体系结构(二)
四、在内核里写i2c设备驱动的两种方式 前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和 “Probe方式(new style)”。(1) Adapter方式(LEGAC
2016-02-29 17:22:27 284
转载 实例解析linux内核I2C体系结构(一)
一、概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方法问题(对应第二种方法的好
2016-02-29 17:21:00 662
原创 交叉编译 PPPoE 和 PPP
1. 下载 ppp-2.4.5和 rp-pppoe-3.112. 编译ppp ./configure vim Makefile 修改如下:--------------------------------------------------------------------------------------------------------------------
2016-02-29 10:49:12 625
原创 email-3.1.3 交叉编译
1】代码网上找找2】编译过程: 2.1 交叉编译openssl-0.9.8k 2.2 ./configure --prefix=(...)/output ,本来这里填上CC=arm-linux-gcc 什么的就可以了,但是这个包就是不 行,所有有下面的手工修改Makefile的工作。 2.3 vim ./dlib/Makefile -
2016-02-29 10:44:36 528
转载 IIC协议
看IIC协议先:两条线可以挂多个设备。IIC设备(稍微有点智能的)里有个固化的地址。只有在两条线上传输的值等于我(IIC设备)的地址时,我才作出响应。开始信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由高变低就表示一个开始信号。同时IIC总线上的设备检测到这个开始信号它就知道处理器要发送数据了。停止信号:处理器让SCL时钟保持高电平,然后让SD
2016-02-29 10:42:36 418
转载 使用gdb和gdbserver
使用gdb和gdbserver (一) 首先下载gdb的源代码包,可以从http: //ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/下载,我下载的是gdb-7.6.tar.gz(二) 编译gdb: 红色字体的是gdb本机的install目录,要统一#tar jxvf
2016-02-28 14:48:04 300
转载 alsa声卡驱动分析总结 (三)
Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理,例如音量控制,功率
2016-02-26 17:48:16 375
转载 alsa声卡驱动分析总结 (二)
alsa声卡驱动分析总结 来自:http://blog.chinaunix.net/uid-20672559-id-3515392.html现在我们开始分析ASOC:ASoC被分为Machine、Platform和Codec三大部分。其中的Machine驱动负责Platform和Codec之间的耦合和设备或板子特定的代码。看起来挺复杂,其实需要我们做的事情并不多,大部分
2016-02-26 17:44:32 552
转载 alsa声卡驱动分析总结(一)
alsa声卡驱动分析总结分析只列出部分重要代码,具体请参考linux3.0内核代码。Alsa架构整体来说十分复杂,但对于驱动移植来说我们仅仅只需要关心ASOC就足够了。在学习asoc之前我们先了解一些专业术语:ASoC currently supportsthe three main Digital Audio Interfaces (DAI) found onSoC
2016-02-26 16:50:06 414
转载 Mafile 常用函数调用函数
常用函数调用语法:$( )或${}时函数名,是函数的参数。参数间以逗号隔开,而函数名和参数间以空格隔开。字符串处理函数1、字符串替换函数subst格式:$(subst ,,)功能:把字符串中的字符串替换成返回:函数返回被替换过后的字符串。2、模式字符串替换函数patsubst格式:$(patsubs
2016-02-26 16:34:59 512
转载 linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟
linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节的内容说不上是驱动,只是写个代码让触摸屏能够工作,随便介绍一下时钟子系统(我不知道这样叫合不合适),仅次而已。xxxxxxxxxx
2016-02-26 16:11:10 431
转载 linux设备驱动归纳总结(十二):简单的数码相框
linux设备驱动归纳总结(十二):简单的数码相框xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx其实代码很简单,实现lcd驱动,使lcd能够显示图片,当按下按键后切换图片。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2016-02-26 16:10:12 265
转载 linux设备驱动归纳总结(十二):简单的数码相框
linux设备驱动归纳总结(十二):简单的数码相框xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx其实代码很简单,实现lcd驱动,使lcd能够显示图片,当按下按键后切换图片。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2016-02-26 15:32:12 290
转载 linux设备驱动归纳总结(十一):写个简单的看门狗驱动
linux设备驱动归纳总结(十一):写个简单的看门狗驱动来自:http://blog.chinaunix.net/uid-25014876-id-112879.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx设备驱动的归纳已经差不多了,趁着知识
2016-02-26 15:06:07 1576
转载 linux设备驱动归纳总结(十):1.udev&misc
linux设备驱动归纳总结(十):1.udev&misc来自:http://blog.chinaunix.net/uid-25014876-id-111839.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx不知不觉我的总结已经写得七七八八了,
2016-02-26 15:03:21 226
转载 linux设备驱动归纳总结(九):1.platform总线的设备和驱动
linux设备驱动归纳总结(九):1.platform总线的设备和驱动xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这一节可以理解是第八章的延伸,从这节开始介绍platform设备驱动。xxxxxxxxxxxxxxxxxxxxxxxxxx
2016-02-26 14:46:03 1170
转载 linux设备驱动归纳总结(八):4.总线热插拔
linux设备驱动归纳总结(八):4.总线热插拔xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx上一节介绍设备管理中的分层思想和面向对象思想(名字是我自己瞎编的)。接下来说一下热插拔的操作。xxxxxxxxxxxxxxxxxxxxxxxxx
2016-02-26 14:09:47 241
转载 linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想
linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想http://blog.chinaunix.net/uid-25014876-id-110738.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx前面的内容介绍了总线、设备和
2016-02-26 14:01:52 280
转载 linux设备驱动归纳总结(八):2.总线、设备和驱动的关系
linux设备驱动归纳总结(八):2.总线、设备和驱动的关系xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx上一节介绍了总线、设备和驱动函数的注册,这节着重介绍它们三者的关系,和上一节一样,我模拟一条usb总线,一个usb鼠标设备和一个usb鼠标驱
2016-02-26 14:00:43 353
转载 linux设备驱动归纳总结(八):1.总线、设备和驱动
linux设备驱动归纳总结(八):1.总线、设备和驱动http://blog.chinaunix.net/uid-25014876-id-109733.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这几天一直在看设备模型,内核的代码看得我
2016-02-26 13:59:36 275
转载 linux设备驱动归纳总结(七):2.内核定时器
linux设备驱动归纳总结(七):2.内核定时器xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节将介绍内核定时器的使用。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2016-02-26 13:39:44 245
转载 linux设备驱动归纳总结(七):1.时间管理与内核延时
linux设备驱动归纳总结(七):1.时间管理与内核延时xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节将介绍一些很枯燥的内核,大体是内核中时间的概念和内核延时的使用,并没有源代码。xxxxxxxxxxxxxxxxxxxxxxxxxxx
2016-02-26 13:38:28 325
转载 linux设备驱动归纳总结(六):3.中断的上半部和下半部——工作队列
linux设备驱动归纳总结(六):3.中断的上半部和下半部——工作队列xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节介绍另外一种的下半部实现——工作队列。相对于软中断/tasklet,工作对列运行在进程上下文,允许睡眠,接下来慢慢介绍。xxxxxxx
2016-02-25 19:44:04 256
转载 linux设备驱动归纳总结(六):3.中断的上半部和下半部——tasklet
linux设备驱动归纳总结(六):3.中断的上半部和下半部——taskletxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一、什么是下半部中断是一个很霸道的东西,处理器一旦接收到中断,就会打断正在执行的代码,调用中断处理函数。如果在中断处
2016-02-25 19:31:37 317
转载 linux设备驱动归纳总结(六):1.中断的实现
linux设备驱动归纳总结(六):1.中断的实现http://blog.chinaunix.net/uid-25014876-id-90740.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一、什么是中断中
2016-02-25 17:13:05 213
转载 linux设备驱动归纳总结(五):4.写个简单的LED驱动
linux设备驱动归纳总结(五):4.写个简单的LED驱动xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx在上面的章节的知识,已经能够实现个简单的LED驱动。居于前面操作LED的函数(5th_mm_2/3rd/test.c),我一步一步来修改。
2016-02-25 16:55:12 292
转载 linux设备驱动归纳总结(五):3.操作硬件——IO静态映射
linux设备驱动归纳总结(五):3.操作硬件——IO静态映射http://blog.chinaunix.net/uid-25014876-id-83299.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx有时候会觉得,每次访问硬件都要先通
2016-02-25 16:36:49 377
转载 linux设备驱动归纳总结(五):2.操作硬件——IO内存
linux设备驱动归纳总结(五):2.操作硬件——IO内存xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx在之前章节的驱动,都没有对硬件进行操作,接写来将从我之前学的裸板驱动开始,讲解在linux系统下如何访问硬件。xxxxxxxxxxxx
2016-02-25 16:22:14 281
转载 linux设备驱动归纳总结(五):1.在内核空间分配内存
linux设备驱动归纳总结(五):1.在内核空间分配内存xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一般的,用户空间使用函数malloc在堆上分配内存空间,同样的,在内核空间同样有一套类似的函数来分配空间。下面的知识会涉及页式管理的内存机制,如
2016-02-25 16:20:48 304
转载 linux设备驱动归纳总结(四):5.多处理器下的竞态和并发
linux设备驱动归纳总结(四):5.多处理器下的竞态和并发xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节将在上一节的基础上介绍支持多处理器和内核抢占的内核如何避免并发。除了内核抢占和中断外,由于多处理起的缘故,它可以做到多个程序同时执行。所
2016-02-25 15:40:22 238
转载 linux设备驱动归纳总结(四):3.抢占和上下文切换
linux设备驱动归纳总结(四):3.抢占和上下文切换xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx上一节介绍了进程调度的一些基本概念,并简单介绍了在没有抢占的情况下,CFS调度的是如何分配进程的优先级和时间片。但是,内核并不会只是单一地分配时间
2016-02-25 13:43:36 200
转载 linux设备驱动归纳总结(四):2.进程调度的相关概念
linux设备驱动归纳总结(四):2.进程调度的相关概念xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx进程的调度就是指进程间的切换,进程调度的知识其实我也不太清除,我查找的资料有些说法并不一致,所以我只能说一下一些我的理解。如有错误或不足,望指正
2016-02-25 12:56:13 229
转载 linux设备驱动归纳总结(四):1.进程管理的相关概念
linux设备驱动归纳总结(四):1.进程管理的相关概念http://blog.chinaunix.net/uid-25014876-id-64866.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx接下来的几节我会大概的讲一下内核进程的一
2016-02-25 12:54:02 207
转载 linux设备驱动归纳总结(三):7.异步通知fasync
linux设备驱动归纳总结(三):7.异步通知fasynchttp://blog.chinaunix.net/uid-25014876-id-62725.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx异步通知fasync是应用于系统调用s
2016-02-25 12:41:57 312
转载 linux设备驱动归纳总结(三):6.poll和sellct
inux设备驱动归纳总结(三):6.poll和sellctxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx接下来会讲系统调用select在驱动中的实现,如果对系统调用select不太懂的话,建议先看书补习一下。xxxxxxxxxxxxxxx
2016-02-24 17:10:02 230
转载 linux设备驱动归纳总结(三):5.阻塞型IO实现
linux设备驱动归纳总结(三):5.阻塞型IO实现http://blog.chinaunix.net/uid-25014876-id-60025.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一、休眠简介:
2016-02-24 16:46:57 206
转载 linux设备驱动归纳总结(三):4.ioctl的实现
linux设备驱动归纳总结(三):4.ioctl的实现http://blog.chinaunix.net/uid-25014876-id-59419.html一、ioctl的简介:虽然在文件操作结构体"struct file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并
2016-02-24 16:32:57 277
转载 linux设备驱动归纳总结(三):3面向对象思想和lseek
linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现http://blog.chinaunix.net/uid-25014876-id-59418.html一、结构体struct file和struct inode在之前写的函数,全部是定义了一些零散的全局变量。有没有办法整合成到一个结构体当中?这样的话,看起来和用起来都比较方
2016-02-24 16:00:59 277
转载 linux设备驱动归纳总结(三):2open.close.read.write
linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、writehttp://blog.chinaunix.net/uid-25014876-id-59417.html一、文件操作结构体file_operations继续上次没讲完的问题,文件操作结构体到底是什么东西,为什么我注册了设备之后什么现象都没有?可以验证文件操作结构体
2016-02-24 15:47:06 402
转载 linux设备驱动归纳总结(三):1字符型设备之设备申请
linux设备驱动归纳总结(三):1.字符型设备之设备申请来自:http://blog.chinaunix.net/uid-25014876-id-59416.html操作系统:Ubunru 10.04实验平台:S3C2440 + linux2.6.29内核注:在今后驱动程序的学习中经常需要查看内核源代码,建议大家新加一个内核目录,去掉一些与S3C2440平台无关的
2016-02-24 13:52:46 257
xml 解析器 比较好 比较好
2011-03-02
c# networkingprogramming
2010-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人