现在位置: 首页 > 技术文章 > 驱动开发 > 文章
2017年12月06日 驱动开发 ⁄ 共 1313字 Linux IIC 总线驱动开发相关问题总结(转)已关闭评论
前面几片文章介绍了IIC裸机及Linux下驱动开发内容: 《Exynos4412 裸机开发 —— IIC总线(转)》 《Linux IIC总线驱动开发(一) — IIC 基础概念及驱动架构分析(转)》 《Linux IIC总线驱动开发(二)—— IIC 驱动开发(转)》   现在归纳总结一下IIC相关知识点: 一 、问题 1、IIC总线上的设备是怎么描述的? struct i2c_client { struct device dev; ... }; 2、IIC总线上的驱动是怎么描述的? struct i2c_dri...
阅读全文
2017年12月04日 驱动开发 ⁄ 共 7497字 Linux IIC总线驱动开发(二)—— IIC 驱动开发(转)已关闭评论
前面在《Linux IIC总线驱动开发(一) — IIC 基础概念及驱动架构分析(转)》中学习了IIC驱动的架构,下面进入我们的驱动开发过程: -------------------------------开发环境----------------------------- 开发板:Exynos4412 Linux 内核版本:Linux 3.14 IIC 从机对象:陀螺仪MPU6050 -------------------------------开发环境----------------------------- 首先看一张代码层次图,有助于我们的理解: iic-struct 上面这些代...
阅读全文
2017年11月30日 驱动开发 ⁄ 共 10416字 Linux IIC总线驱动开发(一) — IIC 基础概念及驱动架构分析(转)已关闭评论
关于IIC 裸机开发请看 :《Exynos4412 裸机开发 —— IIC总线(转)》 ,下面回顾下 IIC 基础概念: 一、IIC 基础概念 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和...
阅读全文
2016年01月15日 驱动开发 ⁄ 共 655字 Tiny4412驱动之使用平台总线操作LED(platform)已关闭评论
温习完linux设备模型,今天打算使用平台总线来操作一下LED,下面说一下实验步骤及现象: 包含的文件总共有四个,驱动相关的有3个: 1.led_dev.c 2.led_drv.c Makefile 测试用的应用程序有一个: led_test.c 下面开始编译代码: 平台总线测试 如上图所示,编译出驱动程序及测试程序,然后拷贝到开发板上去。 下面开始做实验: 1加载驱动程序: 加载驱动 上图可以看到,刚加载完设备之后什么也没有打印出来,加载完驱动程序之后打...
阅读全文
2016年01月13日 驱动开发 ⁄ 共 6169字 Linux驱动之bus_register分析已关闭评论
最近在温故Linux的总线设备驱动模型,下面分析一下bus_register的详细调用过程及行为目的: kobject,kset,ktype。这三个结构联合起来一起构成了整个设备模型的基石,请看下面两篇文章: 《设备模型之kobject,kset及其关系》 《设备模型之总线,驱动,设备》 devices_ket和driver_kset 上图说明了总线通过两个数据结构:devices_ket和driver_kset来管理注册在此总线上的所有的设备和驱动,为了方便遍历,linux增加了klist_devi...
阅读全文
2016年01月11日 驱动开发 ⁄ 共 1753字 设备模型之总线,驱动,设备已关闭评论
Kobject,kset是设备模型的基本结构体,设备模型使用这两个结构体来完成设备的层次关系,但在实际的设备驱动编写中,我们基本上用不到kobject,kset这些结构体,是因为这些结构体又被嵌入到更大的结构体中,原因在于kobject,kset结构体只能表征设备的层次关系,但是一个设备的驱动,并不是简单的一个层次关系而已,因此,必需要把kobject,kset结构体嵌入到更大的结构体中,使用kobject,kset来表征层次关系,用其他的成员表示设...
阅读全文
2016年01月08日 驱动开发 ⁄ 共 1638字 设备模型之kobject,kset及其关系已关闭评论
Linux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型。 设备模型的基础结构体主要是kobject,kset这两个结构体: struct kobject { char * k_name; char name[KOBJ_NAME_LEN]; struct kref kref; struct list_head entry; struct kobject * parent; struct kset * kset; struct kobj_type * ktype; struct d...
阅读全文
×