- 博客(20)
- 收藏
- 关注
转载 I2C总线详解
1.1 I2C总线知识1.1.1 I2C总线物理拓扑结构 I2C总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.1.2 I2C总线特征 I
2014-03-31 20:00:22 26087 3
原创 i2c-dev模块--read/write支持DMA传输
打开内核配置项CONFIG_I2C_CHARDEV,加载i2c-dev模块。设备节点:/dev/i2c-x。用户空间通过设备节点访问挂载到i2c适配器上的任意i2c设备。.i2c-dev模块的read/write函数不支持block传输,一次最多传输8字节数据。修改read/write函数支持DMA传输,以实现block传输。DMA传输 BUFFER 大小的xia
2014-03-31 11:39:43 5567
转载 ALSA声音编程介绍
英文原文:http://www.linuxjournal.com/article/6735很好的一篇文章,读了之后很有感触。与大家分享,前面三个例子我都测试过了,没有问题。period(周期):硬件中中断间的间隔时间。它表示输入延时。声卡接口中有一个指针来指示声卡硬件缓存区中当前的读写位置。只要接口在运行,这个指针将循环地指向缓存区中的某个位置。frame size = sizeo
2014-03-28 16:17:44 950
原创 GIT总结
突击了三天GIT,对GIT有了直观的认识和了解。接下来就在项目的实际操作过程中取应用它,理解它,掌握它。学习网址:http://blog.jobbole.com/25808/http://blog.maxiang.net/git-advance-git-reset-checkout-diff-stash/239/暂存区域本地工作目录本地GIT仓库远程GI
2014-03-27 20:18:37 623
转载 内核线程
Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。内核线程就是内核的分身,一个分身可以处理一件特定事情。内核线程的调度由内核负责,一个内核线程处于阻塞状态时不影响其他的内核线程,因为其是调度的基本单位。这与用户线程是不一样的。因为内核线程只运行在内核态,因此,它只能使用大于PAGE_OFFS
2014-03-20 20:40:33 684
转载 Android Audio System 之二:AudioFlinger
http://blog.csdn.net/droidphone/article/details/5951999
2014-03-13 14:24:10 654
转载 Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager
http://blog.csdn.net/droidphone/article/details/5949280
2014-03-13 14:23:45 673
转载 Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
http://blog.csdn.net/droidphone/article/details/5941344
2014-03-13 13:36:11 644
转载 linux内核input子系统解析
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。 因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、input输入子系统框架 下图是
2014-03-12 21:44:46 543
转载 输入子系统架构分析
内核的输入子系统是对分散的,多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板)等字符设备进行统一处理的一层抽象,就是在字符设备驱动上抽象出的一层。输入子系统包括两类驱动程序:事件驱动程序和设备驱动程序。事件驱动程序负责和应用程序的接口,而设备驱动程序负责和底层输入设备的通信。鼠标事件生成文件mousedev属于事件驱动程序,而PS/2鼠标驱动程序是设备驱动程序。事件驱动
2014-03-12 21:41:02 541
转载 LCD设备驱动程序
LCD是Liquid Crystal Display的简称,也就是经常所说的液晶显示器LCD能够支持彩色图像的显示和视频的播放,是一种非常重要的输出设备 Framebuffer 是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行操作 Framebuffer又叫帧缓冲,是L
2014-03-10 15:18:31 1581
转载 IIC设备驱动程序介绍
IIC设备是一种通过IIC总线连接的设备,由于其简单性,被广泛引用于电子系统中。在现代电子系统中,有很多的IIC设备需要进行相互之间通信IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接微处理器和外部IIC设备。IIC设备产生于20世纪80年代,最初专用与音频和视频设备,现在在各种电子设备中都广泛应用IIC总线有两条总线线路,一条是串行数据线(SDA),一条是串行时钟线
2014-03-10 15:17:40 3273 1
转载 触摸屏设备驱动程序
由于触摸屏设备简单、价格低廉,到处应用在消费电子商品、工业控制系统、甚至航空领域都有应用 触摸屏作为一种最新的电脑输入设备,是目前最简单、方便、自然的的一种人机交互方式,具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。事实上,触摸屏是一个使多媒体信息系统改头换面的设备,它赋予多媒体系统以崭新的面貌,是极富有吸引力的全新多媒体交互设备 从技术原
2014-03-10 15:16:44 1657
转载 Linux输入子系统介绍
Linux的输入子系统不仅支持鼠标、键盘等常规的输入设备,而且还支持蜂鸣器、触摸屏等设备输入子系统又叫input子系统。其构建非常灵活,只需要调用一些简单的函数,就可以将一个输入设备的功能呈现给应用程序 #define EV_SYN 0x00 //表示设备支持所有事件#define EV_KEY 0
2014-03-10 15:16:00 951
转载 看门狗驱动
看门狗是当CPU进入错误状态后,无法恢复的情况下,使计算机重新启动由于计算机在工作时不可避免的受到各种各样的因素干扰,即使再优秀的计算机程序也可能因为这种干扰使计算机进入一个死循环,更严重的就是导致死机。有两种办法来处理这种情况:一是:采用人工复位的方法二是:依赖于某种硬件来执行这个复位工作。这种硬件通常叫做看门狗(Watch Dog,WD)看门狗,就像一只
2014-03-10 15:01:15 1616
原创 MISC设备驱动
0:include/linux/miscdevice.h1:MISC设备驱动从本质上还是字符设备驱动。2:所有MISC设备的主设备号都是10,但是每个设备可以选择一个单独的次设备号。3:MISC设备驱动会自动生成设备文件/sys/class/misc,不用我们再编写代码。4:所有MISC设备都拥有相同的特性:简单。5:内核维护了一个misc_list,所有已经注册的misc设备
2014-03-08 15:31:23 722
原创 2.6内核前后--注册字符设备驱动区别
1:2.6内核前int register_chrdev (unsigned int major, const char *name, struct file_operations *fops);int unregister_chrdev( unsigned int major, const char *name );创建设备文件的方法:static devfs_handle
2014-03-08 14:41:38 764
转载 内核字符设备驱动框架
UART驱动是字符设备驱动的一种。这种驱动虽然简单,但是和平时开发息息相关,所以专门写一篇文章来分析。对于嵌入式开发来说,应用程序和串口之间的输入输出交互是再也平常不过的事情了。分析串口驱动了解这种交互的过程,对提高我们对驱动设计以及内核设计思想的了解很有好处。由于串口驱动很成熟了,一般不会出什么问题,所以文章中没有过多的开发经验介绍,但是对修炼“内功”很有帮助。 串口驱动是一种字
2014-03-08 13:15:50 1002
原创 字符设备驱动框架学习总结
1:数据结构1:struct cdevstruct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t dev; unsigned int count;};
2014-03-08 11:33:15 816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人