• <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • linux内核中的GPIO系?#25345;?):gpio subsysem和pinctrl subsystem之间的耦合

    作者:wowo 发布于:2017-8-10 22:17 分类:GPIO子系统

    按理说,kernel中gpio subsystem和pinctrl subsystem的关系应该非常清楚:

    pinctrl subsystem管理系统的所有管脚,GPIO是这些管脚的用途之一,因此gpio subsystem应该是pinctrl subsystem的client(也可叫做backend、consumer),基于pinctrl subsystem提供的功能,处理GPIO有关的逻辑。 

    不过,实?#26159;?#20917;却不是这么简单,它们之间有着较为紧密的耦合(看一看kernel中pinctrl和gpio相关的实现就知道了)。本文将对这种耦合进行一个简单的分析,解释为什么要这样设计。

    阅读全文>>

    标签: GPIO subsystem pinctrl range

    评论(1) 浏览(8509)

    《奔跑吧,Linux内核》已经上架预售了

    作者:linuxer 发布于:2017-8-5 12:10 分类:技术漫谈

    不想当将军的士兵不是好士兵,不想写进程调度器的麻醉师不是好的麻醉师,不想钻研内核的FAE不是好的FAE。 笨叔叔就是这样的一个有点特别的FAE,写了一本书叫做《奔跑吧Linux内核》,每个人都会经过这个阶段,见到一座山,就想知道山后面是什么。而作为FAE,?#30475;?#34987;客户吊打之后,总是想知道Linux的内核机制是什么,吊打久了,各种内核的脉络也就慢慢清晰了。在无数的不眠之夜以后,全球首本基于4.0内核的书籍诞生了。人们常说喜剧的内核是悲剧,那么Linux的内核呢?或许笨叔叔可以给你答案……

    阅读全文>>

    标签: 奔跑吧 Linux内核

    评论(15) 浏览(8987)

    X-024-OHTHERS-在windows平台下使用libusb

    作者:wowo 发布于:2017-7-23 22:21 分类:X Project

    话说我们“X Project”的第一个任务就是通过USB将主机?#31995;腎mage文件下载到开发板的Ram中执行(参考[1]中有关的内容),为此我们在host中porting了一个简单的应用程序(称作DFU[2]),负责和开发板ROM中的代码交流,下载并执行Image文件。为了方便,该应用程序使用libusb[3]进行USB有关的操作。

    libusb不止使用起来简单,还有一个极大的优点,就是“跨平台”的特性。我们之前的例子[4]都是在Linux平台下操作的,最近由于win10内置了Ubuntu,Linux平台有关?#30446;?#21457;工作,基本上都可以在这里完成了,因此就不需要费时、费神地切换到纯Linux环境下工作了。

    不过呢,Win10的Ubuntu好是好,但?#29615;?#20687;纯Linux系统那样支持USB设备,DFU有关的工作就无法在这里正常工作,因此就发挥libusb的特性,把“X Project” DFU[2]有关的代码在Windows下跑起来,也算感受一下“跨平台”的魅力。具体步骤如下。

    阅读全文>>

    标签: MinGW libusb windows zadig dfu

    评论(1) 浏览(4974)

    Dynamic DMA mapping Guide

    作者:linuxer 发布于:2017-7-20 19:23 分类:内存管理

    这是一篇指导驱动工程师如何使用DMA API的文档,为了方便理解,文档中给出了伪代码的例程。另外一篇文档dma-api.txt给出了相关API的简明描述,有兴趣也可以看看那一篇,这两份文档在DMA API的描述方面是一致的。

    阅读全文>>

    标签: dma Mapping

    评论(6) 浏览(11541)

    X-023-KERNEL-Linux pinctrl driver的移植

    作者:wowo 发布于:2017-7-14 21:58 分类:X Project

    本文是“linux内核中的GPIO系?#25345;?):pinctrl驱动的理解和总结”的一个实例,结合”X Project”?#30446;?#21457;过程,介绍pinctrl driver的移植步骤,进而?#30001;?#23545;pinctrl framework的理解。

    注1:本文后续的描述,kernel基于本站“X Project”所使用的kernel版本[4],?#24067;?/span>基于 ”X Project”所使用的“Bubbugum-96”平台。

    阅读全文>>

    标签: Linux Kernel driver porting pinctrl

    评论(0) 浏览(2752)

    蜗窝微信?#20309;?#39064;整理

    作者:linuxer 发布于:2017-7-11 19:00 分类:技术漫谈

    蜗窝微信群开张了,这个群是为那些愿意慢下来,仔细研究内核技术、愿意为了搞清楚内核代码逻辑而废寝忘食的工程师准备的,在这个群里,大家讨论了一些技术问题,当然,也有一些问题没有解决和答案。鉴于微信群的特点,我还是把大家讨论的技术整理了一下,分享出来,希望能够对其他工程师有所帮助。

    阅读全文>>

    标签: 蜗窝微信群

    评论(7) 浏览(4980)

    CMA模块学习笔记

    作者:linuxer 发布于:2017-6-28 18:29 分类:内存管理

    本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速?#25351;?#19978;下文。

    学习的基本方法是这样的:一开始,我自?#21512;?#25552;出了若干的问题,然后带着这些问题查看网?#31995;?#36164;?#24076;?#20195;码,最后整理形成这样以问题为导向的index,顺便也向笨叔叔致敬。笨叔叔写了一本书叫做《奔跑吧Linux内核》,采用了问答的方式描述了4.x Linux内核中的进程管理、内存管理,同步和中断子系统。7月将和大家见面,敬请期待。

    阅读本文最好手边有一份linux source code,我使用的是4.4.6版本。

    阅读全文>>

    标签: Memory CMA Contiguous Allocator

    评论(13) 浏览(10600)

    linux内核中的GPIO系?#25345;?):pinctrl驱动的理解和总结

    作者:wowo 发布于:2017-6-27 22:30 分类:GPIO子系统

    本站之前的三篇文章[1][2][3]介绍了pin controller(对应的pin controller subsystem)、gpio controller(对应的GPIO subsystem)有关的基本概念,包括pin multiplexing、pin configuration等等。本文将基于这些文章,单纯地从pin controller driver的?#23884;齲?#23631;蔽掉pinctrl core的实现细节),理解pinctrl subsystem的设计思想,并掌握pinctrl驱动的移植和实现方法。

    阅读全文>>

    标签: Linux driver GPIO subsystem pinctrl

    评论(5) 浏览(16601)

    为什么会有文件系统(二)

    作者:驴肉火烧 发布于:2017-6-27 21:06 分类:文件系统

    距我将全套盗墓笔记成功保存在8MB空间里已经过去了19天58分钟32秒,我渐渐发觉更高、更快、更强的绝不限于奥运精神,也充分体现了人类贪婪的本质,无尽的需求催生出这光?#33268;?#31163;的大千世界。

    就在今天下午,我得到一个通知,要么继续使用连续的存储空间,但是只能有4MB,要么去使用不连续的存储空间,总量可以仍然是8MB,那一刻,我的内心反而是平静的,因为我知道,这就是现实,一个不够优秀的系统是无法满足各种刁钻的需求的,并且我并不想丢掉一半的盗墓笔记,所以我必须使用不连续的存储空间,一个不算坏的消息是,就算是不连续,但是每块最小也有2048字节,并且连续的存储空间是2048字节对齐的,还有什么好说的,撸起袖子加油干,这很2017。

    阅读全文>>

    标签: 文件系统

    评论(11) 浏览(4326)

    Linux DMA Engine framework(3)_dma controller驱动

    作者:wowo 发布于:2017-5-18 21:56 分类:Linux内核分析

    本文将从provider的?#23884;齲?#20171;绍怎样在linux kernel dmaengine?#30446;?#26550;下,编写dma controller驱动。

    阅读全文>>

    标签: driver controller framework dma engine

    评论(3) 浏览(6077)

    Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog
    连码三全中是什么
  • <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>