Linux MMC framework(1)_软件架构

作者:wowo 发布于:2017-1-10 22:24 分类:通信类协议

由[1]中MMC、SD、SDIO的介绍可知,这三种技术都是起源于MMC技术,有很多共性,因此Linux kernel统一使用MMC framework管理所有和这三种技术有关的设备。

本文将基于[1]对MMC技术的介绍,学习Linux kernel MMC framework的软件架构。

阅读全文>>

标签: Linux Kernel 内核 架构 Architecture framework mmc

评论(2) 浏览(583)

Linux TTY framework(2)_软件架构

作者:wowo 发布于:2016-9-27 22:42 分类:TTY子系统

由“Linux TTY framework(1)_基本概念”的介绍可知,在Linux kernel中,TTY就是各类终端(Terminal)的简称。为了简化终端的使用,以及终端驱动程序的编写,Linux kernel抽象出了TTY framework:对上,向应用程序提供使用终端的统一接口;对下,提供编写终端驱动程序(如serial driver)的统一框架。

本文是Linux TTY framework分析的第二篇文章,将从整体架构的角度,介绍Linux TTY framework,以便分解出功能相对独立的子模块,以便后续的分析。

阅读全文>>

标签: Linux Kernel 架构 Architecture tty

评论(2) 浏览(1283)

Linux I2C framework(1)_概述

作者:wowo 发布于:2016-2-14 22:01 分类:通信类协议

I2C协议是嵌入式系统中广泛使用的一类通信协议,主要用于CPU和各种外设之间的低速数据通信。Linux kernel使用I2C framework抽象、管理相应的资源,并以各种形式,向各类使用者提供API。另外,作为总线(bus)的一种,I2C framework的实现体现了linux设备模型的精髓,值得研究与学习。这就是攥写“Linux I2C framework”系列文章的缘由和目的。

按照分析各类framework的老规矩,蜗蜗会从4个角度分4篇文章介绍I2C framework:

1)Linux I2C framework的整体介绍,包括基础知识、软件框架、API汇整等。就是本文。

2)从Provider的角度,介绍怎么借助I2C framework管理I2C相关的SOC资源。换句话说,就是怎么编写一个I2C driver。具体可参考“Linux I2C framework(2)_I2C provider”。

3)从Consumer的角度,介绍I2C framework为使用者提供了哪些功能、哪些API,以及怎样利用I2C framework编写程序。具体可参考“Linux I2C framework(3)_I2C consumer”。

4)从内部实现的角度,分析I2C framework的实现逻辑。具体可参考“Linux I2C framework(4)_I2C core”。

阅读全文>>

标签: Linux Architecture framework I2C

评论(18) 浏览(4409)

ARM WFI和WFE指令

作者:wowo 发布于:2014-12-10 22:43 分类:ARMv8A Arch

蜗蜗很早以前就知道有WFI和WFE这两个指令存在,但一直似懂非懂。最近准备研究CPU idle framework,由于WFI是让CPU进入idle状态的一种方法,就下决心把它们弄清楚。

WFI(Wait for interrupt)和WFE(Wait for event)是两个让ARM核进入low-power standby模式的指令,由ARM architecture定义,由ARM core实现。听着挺简单,但怎么会有两个指令?它们的区别是什么?使用场景是什么?深究起来,还挺有意思,例如:能想象WFE和spinlock的关系吗?

阅读全文>>

标签: Architecture aarch64 ARM wfe wfi

评论(39) 浏览(21455)

ARM概念梳理:Architecture, Core, CPU,SOC

作者:wowo 发布于:2014-12-9 22:54 分类:ARMv8A Arch

本文简单梳理一下ARM有关的概念,包括ARM architecture、ARM core、ARM CPU(或MCU)以及ARM Soc。我们这些以ARM平台为主的嵌入式工程师,几乎每天都会和这些概念打交道,也似乎非常理解它们。但仔细想想,却有些说不清道不明的感觉,因而有必要整理一下思路,也就顺手记录下来了。

阅读全文>>

标签: Architecture ARM core soc

评论(11) 浏览(6115)

为什么会有“ARMv8A Architecture”这个分类

作者:wowo 发布于:2014-12-6 15:40 分类:ARMv8A Arch

2013年9月11日(是的,911),在ARM公司发布UEFI 64-bit之后,ARM社区release了ARMv8A版本的ARM Architecture Reference Manual(我已经下载,感兴趣的同学可以找我要)。在release note中,作者给出了这样一个设问句:“Why develop ARMv8-A?”。本文也效仿一下,以自问自答的形式,说明为什么会在博客中增加这样一个分类,以及期望达成的目的。

阅读全文>>

标签: Architecture arm64 aarch64 armv8-a

评论(13) 浏览(4451)

Linux电源管理(1)_整体架构

作者:wowo 发布于:2014-5-7 19:21 分类:电源管理子系统

在这个世界中,任何系统的运转都需要能量。如树木依靠光能生长,如马儿依靠食物奔跑,如计算机系统依靠电能运行。而能量的获取是有成本的,因此如果能在保证系统运转的基础上,尽量节省对能量的消耗,就会大大提升该系统的生存竞争力。这方面,大自然已经做的很好了,如植物的落叶,如动物的冬眠,等等。而在计算机的世界里(这里以运行Linux OS的嵌入式系统为例),称作电源管理(Power Management)。

通俗的讲,电源管理就是:“想让马儿跑,不想马吃草”。不过,从能量守恒的角度,想让马儿跑多快、跑多久,就一定要让它吃相应数量的草。那么我们就退而求其次:“只在需要马儿跑时,才让它吃草”。这就是电源管理的核心思想。那方法呢?

阅读全文>>

标签: Kernel management PM Power Architecture

评论(39) 浏览(25879)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog