linux内核I2C子系统学习(一)
摘要:这部分准备分几个部分进行分析总结因为I2C的通信肯定至少要有2个芯片完成,所以它的驱动是由2大部分组成:主芯片的i2c的驱动从芯片的i2c的驱动注:万一选的都不支持咋办???(惨了,只能2个芯片的驱动都得实现了,不过过程差不多)(一).主芯片的I2C的驱动:(具体如何实现在后面在具体讲解)首先要查看linux内核是否支持主芯片中i2c驱动器,如果支持就配置一下就ok了,否则要编写主控芯片的i2c驱动器编写方法:第一.要有i2c总线驱动(首先要查查内核i2c文件是否支持这种总线驱动,一般都有支持,如果没有只好自己倒霉自己写了)第二.i2c设备驱动(主控芯片的地址等等信息)这个过程都是差不多的,以
阅读全文
posted @
2012-12-04 19:41
孟浩依然
阅读(8764)
推荐(1)
linux内核SPI总线驱动分析(一)
摘要:下面有两个大的模块:一个是SPI总线驱动的分析 (研究了具体实现的过程)另一个是SPI总线驱动的编写(不用研究具体的实现过程)SPI总线驱动分析1SPI概述 SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。 SPI的通信原理很简单,它以.
阅读全文
posted @
2012-12-03 22:13
孟浩依然
阅读(45233)
推荐(6)
linux设备驱动中的并发控制
摘要:并发指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源的访问则很容易导致竞态linux内核中主要竞态1.多对称处理器的多个CPU 2.单CPU内进程与抢占它的进程 3.中断(硬中断、软中断、Tasklet、下半部)与进程之间访问共享内存资源的代码区称为“临界区”,临界区需要被以某种互斥机制加以保护,中断屏蔽、原子操作、自旋锁和信号量等是linux设备驱动中可采用的互斥途径。这几个互斥的介绍:1.中断屏蔽,这个主要用于单CPU,中断屏蔽将使得中断和进程之间的并发不再发生。使用方法:local_irq_disable();//屏蔽中断......临界区...local_irq_enab
阅读全文
posted @
2012-07-11 22:28
孟浩依然
阅读(2932)
推荐(0)
驱动初步
摘要:驱动分为:字符设备驱动,块设备驱动和网络设备驱动。字符设备驱动是操作字节流,不允许随机访问。块设备允许随机访问。字符设备比较基础,下面给出编写字符驱动的方法。#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>MODULE_LICENSE ("GPL");static int __init hello_2_init (void){ printk (KERN_INFO "Hello world\n"); return 0;}st
阅读全文
posted @
2012-07-11 22:10
孟浩依然
阅读(925)
推荐(1)