• <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>
  • CMA模块学习笔记

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

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

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

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

    阅读全文>>

    标签: Memory CMA Contiguous Allocator

    评论(14) 浏览(11675)

    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

    评论(6) 浏览(18687)

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

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

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

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

    阅读全文>>

    标签: 文件系统

    评论(11) 浏览(4627)

    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) 浏览(6629)

    Linux的时钟

    作者:linuxer 发布于:2017-5-17 18:55 分类:时间子系统

    时钟或者钟表(clock)是一种计时工?#25784;?#27599;个人都至少有一块,可能在你的手机里,也可能佩戴在你的手腕上。如果Linux也是一个普通人的话,那么她的手腕上应该有十几块手表,包括:CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_PROCESS_CPUTIME_ID、CLOCK_THREAD_CPUTIME_ID、CLOCK_MONOTONIC_RAW、CLOCK_REALTIME_COARSE、CLOCK_MONOTONIC_COARSE、CLOCK_BOOTTIME、CLOCK_REALTIME_ALARM、CLOCK_BOOTTIME_ALARM、CLOCK_TAI。本文主要就是介绍Linux内核中的形形色色的“钟表”。

    阅读全文>>

    标签: clock

    评论(25) 浏览(6913)

    Linux DMA Engine framework(2)_功能介绍及解接口分析

    作者:wowo 发布于:2017-5-2 22:47 分类:Linux内核分析

    从我们的直观感受来说,DMA并不是一个复杂的东西,要做的事情也很单纯直白。因此Linux kernel对它的抽象和实现,也应该简洁、易懂才是。不过现?#31561;?#19981;甚乐观(个人感觉),Linux kernel dmaengine framework的实现,真有点晦涩的感觉。为什么会这样呢?

    如果一个软件模块比较复杂、晦涩,要么是设计者的功力不够,要么是需求使然。当然,我们不敢对Linux kernel的那些大神们有丝毫怀疑和不敬,只能?#26377;?#27714;上下功夫了:难道Linux kernel中的driver对DMA的使用上,有一些超出了我们日常的?#29616;?#33539;围?

    要回答这些问题并不难,将dmaengine framework为consumers提供的功能和API梳理一遍就可以了,这就是本文的目的。当然,也可以借助这个过程,加深对DMA的理解,以便在编写那些需要DMA传输的driver的时候,可以更游刃有余。

    阅读全文>>

    标签: Linux Kernel 内核 API dma engine

    评论(11) 浏览(14027)

    系统休?#25784;⊿ystem Suspend)和设备中断处理

    作者:linuxer 发布于:2017-4-21 12:02 分类:电源管理子系统

    本文主要描述系统休眠过程是如何和中断子系统交互?#27169;?#20840;文的结构保持和内核文档中的power/suspend-and-interrupts.txt一致,当然,本质上也可以说这份文档?#23884;詓uspend-and-interrupts.txt的翻译。

    阅读全文>>

    标签: suspend irq

    评论(25) 浏览(11858)

    Linux DMA Engine framework(1)_概述

    作者:wowo 发布于:2017-3-30 22:01 分类:Linux内核分析

    前面文章介绍“Linux MMC framework”的时候,涉及到了MMC数据传输,进而不可避免地遭遇了DMA(Direct Memory Access)。因而,择日不如撞日,就开几篇文章介绍Linux的DMA Engine framework吧。

    本文是DMA Engine framework分析文章的第一篇,主要介绍DMA controller的概念、术语(从?#24067;?#30340;?#23884;齲?#22823;部分翻译自kernel的document[1])。之后,会分别从Provider(DMA controller驱动)和Consumer(其它驱动怎么使用DMA传输数据)两个?#23884;齲?#20171;绍Linux DMA engine有关的技术细节。

    阅读全文>>

    标签: Linux Kernel 内核 framework dma engine

    评论(10) 浏览(9811)

    蓝牙协议分析(10)_BLE安全机制之LE Encryption

    作者:wowo 发布于:2017-3-28 11:52 分类:蓝牙

    前面文章介绍了两种BLE的安全机制:白名单[4]和LL privacy[3]。说实话,在这危机四伏的年代,这两种“捂着脸?#19981;埃?#20854;它人?#24674;?#36947;是谁在?#19981;埃?#22240;而不能插话、不能假传圣旨,但?#19981;?#30340;内容却听得一清二楚)”的方法,实在是小儿科。对于物联网的应用场景来说,要做到安全,就必须对传输的数据进行?#29992;埽?#36825;就是LE Encryption要完成的事情(当然,只针对面向连接的数据),具体请参考本文的介绍。

    阅读全文>>

    标签: 蓝牙 Bluetooth BLE 安全 Encryption

    评论(29) 浏览(13718)

    中断上下文中调?#28982;?#24590;样?

    作者:linuxer 发布于:2017-3-20 19:08 分类:进程管理

    每一个Linux驱动工程师都知道这样一个准则:在中断上下文中不能睡眠。但是为什么interrupt context中不能调用导致睡眠的kernel API呢?如果驱动这么做会导致什么样的后果呢?这就是本文探讨的主题。为了理解这个主题,我们设计了一些非常简单的驱动程序和用户空间的程序,?#23548;?#20570;实验观察实验效果,最后给出了结果和分析。

    阅读全文>>

    标签: 中断 调度

    评论(35) 浏览(9461)

    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>
  • 山东十一选五奇偶走势图 合买大乐透8jia3 北京快3公交 一头单双中特 重庆彩老时时彩怎么玩 彩客网完场比分直播 4742蚂蚁论坛二肖中特 098期独家公式 排列5走势图综合版 微信上买足球彩票 快中彩走势图app 福彩3d太湖钓瘦谜语 500彩票网篮球怎么玩 安徽快三近50期开奖号码 澳洲幸运8是真的吗