11 jerry_chg

尚未进行身份认证

我要认证

努力 奋斗

等级
TA的排名 7k+

LINUX IIO子系统分析之七 虚拟iio device驱动实现

前面几章我们基本完成了IIO子系统的所有内容,而该章即为本专栏的结束篇,主要用来实现一个虚拟的IIO DEVICE DRIVER,本章的内容主要包括如下几部分:一、 虚拟IIO DEVICE的说明二、虚拟IIO DEVICE DRIVER实现所需的知识点三、虚拟IIO DEVICE DRIVER的数据结构及实现说明四、虚拟IIO DEVICE DRIVER的测试验证一、 虚拟IIO DEVICE的说明本次我们将实现一个虚拟的温度传感器...

2020-09-05 00:06:26

LINUX IIO子系统分析之六 iio device的驱动开发流程说明

前面五章我们基本上把IIO 子系统的内部设计实现均作了说明,本章我们将说明iio device的驱动开发流程,本章的主要内容大致安排如下:一、IIO子系统的关键技术点总结二、IIO DEVICE的注册与注销接口说明三、IIO DEVICE的驱动开发流程一、IIO子系统的关键技术点总结 以上几篇文章已经对IIO子系统的设计实现做了大致说明,IIO子系统主要使用如下几个关键技术点实现其主要功能:借助sysfs、kobject机制,实现IIO D...

2020-09-04 22:29:19

LINUX IIO子系统分析之五IIO BUFFER子模块实现分析

上一章我们介绍了iio子系统中的iio event模块,本章我们将介绍iio buffer模块,iio buffer主要用于连续数据采集与缓存功能。IIO buffer模块借助IIO DEVICE字符设备文件与应用程序通信,同时借助iio trigger模块与iio device进行交互,因此本章内容分为如下几部分:一、 IIO DEVICE字符设备文件操作接口二、iio buffer相关数据结构三、IIO trigger-buffer介绍四、IIO b...

2020-09-03 22:21:21

LINUX IIO子系统分析之四 IIO EVENT介绍

上一章我们介绍了iio子系统中的iio trigger模块,本章我们将介绍iio event模块,iio event主要用于阈值监测、自由落体监测等监测功能。因为IIO EVENT涉及IIO DEVICE字符设备文件操作,因此本章内容主要分为如下几部分:一、 IIO DEVICE字符设备文件操作接口二、IIO EVENT设计分析三、IIO EVENT相关接口说明一、 IIO DEVICE字符设备文件操作接口 在IIO 子系统中,每一个IIO...

2020-08-31 23:57:46

LINUX IIO子系统分析之三 IIO TRIGGER设计实现分析

上一章我们分析了IIO子系统的数据结构定义,本章我们主要介绍IIO TRIGGER的设计实现,主要内容如下:一、数据结构简述二、设计实现说明三、提供接口说明一、数据结构简述这两个数据结构主要实现iio 的trigger机制,类似于led子系统的led trigger。主要内容如下:id表示trigger的id、name为名称; 该iio trigger也使用struct device类型的变量加入到iio总线上,iio trigger与iio...

2020-08-30 16:15:54

LINUX IIO子系统分析之二 IIO子系统相关数据结构分析

上一章我们简要说明了IIO子系统的架构,本章我们通过数据结构的定义,分析IIO子系统的设计实现,本章的主要内容如下:一、IIO子系统各数据结构说明二、数据结构间的关联说明一、IIO子系统各数据结构说明在上一章我们大概说明了IIO子系统的框架,IIO子系统大概包含几个主要的部分,此处我们再说明一下:对于连续数据采集相关功能,主要由iio buffer实现; 连续数据采集的触发机制,主要由iio trigger实现; Iio device的事件触发机制,主要由i...

2020-08-30 14:41:27

LINUX IIO子系统分析之一 IIO子系统概述

从本章开始,我们进行IIO子系统专栏的分析文档,本次IIO子系统专栏分析文档大概包含如下几章:一、 IIO子系统概述二、IIO子系统相关数据结构分析三、iio trigger 介绍四、iio event介绍五、iio buffer介绍六、iio device的注册与注销介绍七、iio trigger驱动实现八、虚拟iio device驱动实现一、IIO子系统介绍 本章我们对IIO子系统做一个简单的概述,IIO子系统主要提供对ADC、DAC相关...

2020-08-23 08:18:20

LINUX 中断 子系统专栏之二 虚拟中断控制器驱动实现

在上一篇文章中,我们简要分析了中断子系统框架,本章我们将通过实现一个虚拟的中断控制器驱动,说明如何进行中断控制器驱动开发。本章的内容大概分为如下几部分:一、实现虚拟中断控制器的可行性说明二、中断控制器驱动的开发流程三、虚拟中断控制器驱动设计说明一、实现虚拟中断控制器的可行性说明 在进行虚拟中断控制器的设计之前,我们先说明下linux系统中硬件中断触发后的处理过程。如下图所示,当硬件中断触发后,各架构的CPU板级代码经过处理后,大都会调用do_IRQ...

2020-08-16 23:22:03

LINUX 中断子系统专栏之一 子系统架构简述

之前在做spi、iic等虚拟设备驱动时,就在思考如何开发虚拟的irq controller驱动,因为完成虚拟irq controller驱动后,进行虚拟外设驱动开发时,就可以使用irq。因此这周就简要介绍irq子系统框架,然后再开发一个虚拟的irq controller driver 。针对irq 子系统专栏,主要包括如下两部分内容:一、IRQ子系统框架简述简要说明IRQ子系统的框架及相关数据结构。二、虚拟IRQ CONTROLLER DRIVER实例本篇主要是IR...

2020-08-16 08:51:14

Linux CommonClock Framework分析之四 gpio clk gate驱动实现

前面我们已经完成了CCF子系统的分析,也说明了如何实现CCF驱动,本章为该专栏的最后一篇文章,本章我们将实现一个虚拟的gpio clk gate驱动。本章大概分为如下几个章节:一、 本次驱动开发涉及的知识点二、clk provider driver的实现流程说明三、gpio clk gate driver驱动设计一、 本次驱动开发涉及的知识点本次驱动实践主要涉及如下几个方面的知识点:Platform device、platform drvier...

2020-08-04 23:33:38

Linux CommonClock Framework分析之三 驱动开发流程说明

在上两篇文章中,我们简要介绍了CCF子系统内部的设计,并说明了CCF子系统内部数据结构的定义及关联。本篇文章主要介绍CCF子系统下驱动程序的开发,本章涉及如下三个方面的内容:一、clk注册与注销接口说明二、clk驱动开发流程三、clk使用流程四、依据clk provider用途封装的注册接口一、clk注册与注销接口说明 clk注册与注销接口分别为clk_register、clk_unregister,在上一章我们已经简要说过,c...

2020-08-02 00:39:07

Linux CommonClock Framework分析之二 CCF子系统内部实现简述

上一章我们对CCF子系统进行了简述,本章我们将介绍CCF子系统内部设计,说明CCF子系统内部是如何实现的。我们主要从如下几点说明CCF子系统的内部设计流程:一、 CCF子系统内部数据结构的定义与关联二、CCF子系统提供的接口一、 CCF子系统内部数据结构的定义与关联 在我们学习linux内核各子系统模块时,通过其内部数据结构的定义及关联,即可大致掌握其实现过程及所需要提供的接口等等(本次分析CCF子系统是基于linux4.4内核的)。如下即为...

2020-08-01 12:35:15

Linux CommonClock Framework子系统分析之一 系统概述

本专栏主要介绍linux的ccf子系统,主要用于系统clock的管理等操作。本专栏我们大概分为如下几章进行学习:一、CCF子系统概述二、CCF子系统数据结构分析及关联说明三、CCF子系统的clk注册与注销接口实现分析四、虚拟的clk设备驱动实现 本章我们主要进行CCF子系统的概述。大致说明下CCF的框架。以便我们后续深入的分析下CCF的实现机制。clk的种类说明如上图所示,时钟源大概可分为如下几种:提供基础时钟源的晶振(可分为有...

2020-07-26 16:29:25

Linux 设备驱动模型的设备资源管理实现浅析

上一章我们分析了regmap子系统,本章我们讨论一下linux设备驱动模型的设备资源管理,linux设备资源管理虽然是一个小模块,却起到了一个很大的功能,那就是设备资源的自动释放功能。目前新版的内核中各设备驱动模块基本上都提供了基于设备资源管理的接口。 设备资源管理也可以理解为设备相关的资源垃圾回收功能,设备资源管理的实现虽然不复杂,却真的是解决了一个很大的问题,具体来说就是,在没有设备资源管理时,我们在设备驱动的probe接口中,需要进行内存的申请,并且各设备驱动模块自行维护申请...

2020-07-26 16:28:29

Linux regmap子系统分析之三 regmap bus实例分析

在前面一章我们分析了regmap子系统的数据结构,基本上熟悉了数据结构的关联,也就大概理解了regmap子系统的实现流程,本章我们简要介绍下regmap子系统中接口的调用过程,然后介绍下regmap bus的实现及其提供的regmap的创建及注销接口。一、regmap子系统接口调用关系 针对regmap子系统提供的读写接口包含regmap_read、regmap_write、regmap_raw_read、regmap_raw_write等接口,此处我们主要说...

2020-07-26 16:26:27

Linux regmap子系统分析之二 从数据结构分析系统实现

上一章我们简要分析了regmap子系统,本章我们将从regmap子系统的数据结构介绍regmap子系统的实现。一、数据结构间的关联及说明 针对regmap子系统,我们首先要知道regmap子系统要解决的痛点是什么?我们知道大多的传感器芯片(io扩展芯片、温度传感器、电源管理芯片、input设备、hwmon类型设备等等),基本上都是spi设备或者iic设备,而在这些设备的业务处理接口中充斥着大量的iic设备读写、spi设备读写的调用。另外有的设备厂家针对一款设备可能存在...

2020-07-26 16:25:21

Linux regmap子系统分析之一 系统概述

由于最近工作有点忙,好久没有更新了(主要是懒…)。本周开始我们学习下regmap子系统的架构。本系统专栏主要涉及如下几个子章节:一、regmap子系统概述二、regmap子系统数据结构分析三、regmap子系统接口说明四、regmap bus实例说明(以i2c为例)本章我们主要对regmap子系统做一个简单的说明。涉及的内容如下:一、 regmap子系统的作用二、regmap子系统框架说明一、 regmap子系统的作用 在前面几个...

2020-07-19 23:44:27

Linux regulator子系统分析之四 虚拟regulator device驱动实现

在前面几章,我们分析了regulator子系统框架,主要是从数据结构及数据结构间的关联分析了regulator子系统。为了让大家对regulator子系统有一个深入的认识,我们本章将实现一个虚拟的regulator device驱动,从而掌握对regulator子系统的开发流程。 本章的主要内容分为如下几部分:一、 regulator device 驱动开发流程简要说明二、virt regulator device简要介绍三、virt regulator devic...

2020-07-04 19:08:20

Linux regulator子系统分析之三 相关的接口说明

在上一章我们介绍了regulator子系统相关的数据结构间的关联以及每一个数据结构的定义。针对数据结构间的关联则需要regulator子系统提供的接口实现。而本章我们就说明这些接口。本章的章节如下:一、regulator device的注册与注销二、regulator的注册与注销(regulator device的使用者)三、regulator子系统提供的接口一、regulator device的注册与注销 针对regulator dev...

2020-07-04 19:04:46

Linux regulator子系统分析之二 从数据结构理解系统实现

上一章我们分析了regulator子系统的总体框架,本章我们将从数据结构入手,从而理解regulator子系统实现。 针对linux 内核各子系统学习而言,在理解了各子系统的实现背景后,再从数据结构入手,可快速理解其子系统的实现流程。因此本章我们从regulator子系统的数据结构入手,从而理解regulator子系统的实现。本章的提纲如下:一、数据结构间的关联说明二、各数据结构介绍一、数据结构间的关联说明 在上一章中,我们说明针对r...

2020-07-04 19:03:07

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享精英
    分享精英
    成功上传11个资源即可获取