Linux驱动
sdkhy0808
这个作者很懒,什么都没留下…
展开
-
写内核定时器时,出现的警告及改正
1.warning:functin declaration原创 2014-06-26 12:11:39 · 633 阅读 · 0 评论 -
Linux IIC驱动框架理解
看了一周的Linux IIC驱动框架,原创 2014-07-09 09:51:23 · 901 阅读 · 0 评论 -
Linux中的各种initcall总结
今天看Linux源码中的dma.c原创 2014-07-09 11:22:32 · 2828 阅读 · 0 评论 -
i2c 驱动编程接口 i2c_master_send 和 i2c_master_recv, i2c_transfer
1、通信接口i2c发送或者接收一次数据都以数据包 struct i2c_msg 封装[cpp] struct i2c_msg { __u16 addr; // 从机地址 __u16 flags; // 标志 #define I2C_M_TEN 0x0010 // 十位地址标志 #define I2C_M_RD 0x0001 /转载 2014-09-24 19:49:14 · 1169 阅读 · 0 评论 -
i2c设备驱动中要动手完成的内容
前面转载了很多关于i2c的文章,做完一个项目了,也该自己写点i2c心得了,我这个可是纯应用角度的,想看原理的,去看转载的文章,人家写的好多了! 对于一个i2c设备来说,其设备文件是最简单也是最复杂的,说它简单是因为很设备厂商会提供linux下的代码,这样就简单了;但是也有很多厂商它不提供或不完整提供linux下的代码,这样的话当然就复杂了。那么这个我现在这里就不说了,下面说说做了几个I2转载 2014-09-24 21:13:19 · 574 阅读 · 0 评论 -
搭建起设备驱动的框架
理解了datasheet之后,先不要急着去编写代码,你首先应该做的就是给你将要写的驱动程序设计一个框架。那么这里的框架应该依据什么搭建呢?具体怎么搭建呢? 一般的,从USB驱动到I2C驱动,从SPI驱动到串口驱动,从PCI驱动到DMA驱动,等等,不管是什么类型的驱动,它总有一种或者几种基本固定的套路供你选择。如果你打算写一个touch驱动,而这个touch挂接在I2C上,那么转载 2014-09-25 18:51:00 · 627 阅读 · 0 评论 -
构建Linux内核源码树注意事项
注意事项:1、内核源代码原创 2014-10-21 16:26:28 · 768 阅读 · 0 评论 -
Fedora 14下构建Linux内核源码树
真的是一个非常原创 2014-10-21 11:43:52 · 1123 阅读 · 0 评论 -
内核源码树构建成功,编译驱动出错
几经周折,把内核源码树原创 2014-10-21 16:14:28 · 822 阅读 · 0 评论 -
ioctl与unlocked_ioctl的区别
我知道Linux2.6.38中驱动使用unlocked_ioctl,于是我就将file_op原创 2014-10-21 17:28:25 · 2183 阅读 · 0 评论 -
内核编译,驱动编译
version magic '2.6.38 mod_unload modversion armv5' should be '2.6.38-FriendlyARM mod_unload ARMv6 'insmod: cannot insert 'hello.ko': invalid module format'原创 2014-10-21 21:28:40 · 661 阅读 · 0 评论 -
platform模型什么时候用
上周刚开始接触platform模型的时候,知道了platform是一种虚拟总线,platform_driver是原创 2014-07-08 20:13:28 · 601 阅读 · 0 评论 -
Linux I2C驱动完全分析(一)
原文出处:http://blog.csdn.net/ypoflyer/article/details/6376545转载 2014-07-05 13:21:13 · 597 阅读 · 0 评论 -
Linux下I2C驱动层次的分析及一个实例
2 Linux下I2C驱动程序的分析 2.1 Linux系统I2C驱动的层次结构 Linux系统对I2C设备具有很好的支持,Linux系统下的I2C驱动程序从逻辑上可以分为3个部分: 1. I2C总线的驱动 I2C core :实现对I2C总线、I2C adapter及I2C driver的管理。 2. I2C控制器的驱动转载 2014-07-07 10:59:22 · 1243 阅读 · 0 评论 -
申请设备号时的“设备名” 与自动创建设备文件时的“设备类名”和“设备文件名”
比如:我动态申请设备号:原创 2014-06-27 16:05:58 · 745 阅读 · 1 评论 -
MODULE_DEVICE_TABLE的理解
在Linux驱动代码中看到了原创 2014-06-30 17:37:10 · 9340 阅读 · 0 评论 -
platform_driver与platform_device
.flags = IORESOURCE_MEM, } }; 这个结构的作用就是告诉驱动程序设备的起始地址和终止地址和设备的端口类型。这里的地址指的是物理地址。 另外还需要注意platform_device中的device结构,它详细描述了设备的情况,定义如下: struct device { struct klist klist_chi转载 2014-07-01 19:13:46 · 552 阅读 · 0 评论 -
内核驱动中常见的miscdevice、platform_device、platform_driver
内核驱动中常见的miscdevice、platform_device、platform_driver2009年10月09日 星期五 下午 10:21最近在看驱动模型,是越看越糊涂,以前接触比较多的都是一些字符驱动,对字符驱动的框架有一定的了解。后来因为想在驱动中实现设备文件的创建,又了解了一 下,sysfs文件系统和udev设备文件系统,必然就涉及到了驱动模型。可是发现驱动模型和以前接转载 2014-07-01 19:39:52 · 711 阅读 · 0 评论 -
platform
从2.6版本开始引入了platform这个概念,在开发底层驱动程序时,首先要确认的就是设备的资源信息,例如设备的地址,在2.6内核中将每个设备的资源用结构platform_device来描述,该结构体定义在kernel\include\linux\platform_device.h中,struct platform_device { const char * name; u32转载 2014-07-02 16:52:08 · 724 阅读 · 0 评论 -
platform_device resource在哪定义
现在知道了,原创 2014-07-03 08:48:21 · 2129 阅读 · 1 评论 -
实例解析linux内核I2C体系结构 (2)
inux中I2C总线驱动体系结构 在Linux系统中,对于一个给定的I2C总线硬件配置系统,I2C总线驱动程序体系结构由I2C总线驱动和I2C设备驱动组成。其中I2C总线驱动包括一个具体的控制器驱动和I2C总线的算法驱动.一个算法驱动适用于一类总线控制器.而一个具体的总线控制器驱动要使用某一种算法。例如,Linux内核中提供的算法i2e-algo-8260可以用在MPC82xx系列处理器转载 2014-07-04 10:06:34 · 661 阅读 · 0 评论 -
实例解析linux内核I2C体系结构(1)
作者:刘洪涛,华清远见嵌入式学院讲师。一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操转载 2014-07-04 08:15:22 · 643 阅读 · 0 评论 -
嵌入式Linux系统下I2C设备驱动程式的研发
摘 要】I2C总线是一种非常通用的总线,具有简单、高效等特点,广泛应用在各种消费类电子产品及音视频设备上,在嵌入式系统的研发中也经常用到。本文分析了嵌入式linux系统中I2C驱动程式的结构,并结合一个具体的I2C时钟芯片DS1307,说明在嵌入式linux系统下研发I2C设备驱动程式的一般流程。【关键字】I2C总线 嵌入式linux 驱动研发1、I2C总线简介I2C (Inte转载 2014-07-04 10:48:36 · 908 阅读 · 0 评论 -
Linux I2C驱动完全分析(二)
先说一下,本文中有个疑惑,一直没有搞懂,写在这里,望高人指点一二,不胜感激!#define I2C_M_NOSTART 0x4000 /* if I2C_FUNC_PROTOCOL_MANGLING */#define I2C_M_REV_DIR_ADDR 0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */#define I2C_M_IGNORE转载 2014-07-05 22:36:29 · 522 阅读 · 0 评论 -
I2C驱动总共分为三层
I2C驱动总共分为三层:I2C总线适配器驱动层,设备驱动层,I2C核心层。总线适配器驱动层是一个平台设备驱动(platform-device-driver),对应的是控制器的驱动,它分为I2C控制器驱动(i2c-s3c2410.c文件中)和设备资源(在devs.c文件中声明资源,在mach-smdk2410.c中注册资源),对应一个虚拟总线将它们挂接起来,定义描述具体i2c总线适配翻译 2014-07-07 20:12:52 · 842 阅读 · 0 评论