请稍侯

相机系统综述 —— ISP

ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备。主要内部构成如下图所示,ISP 内部包含 CPU、SUP IP、IF 等设备,事实上,可以认为 ISP 是一个 SOC...

CPUIDLE 之低功耗定时器

在 Linux 操作系统中,Idle 进程(又叫 Swapper 进程)的 pid 号是 0,是所有进程的祖先,它是在 Linux 初始化阶段从无到有创建的一个内核线程。stark_kernel() 函数初始化内核需要的所有数据结构,激活中断,创建另一个叫进程 1 的内核线程(init 进程)...

zram 简介

zram 技术的由来zram1(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩。zram 通过在 RAM 内的压缩块设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能。由于 zram 可以用内存替代硬盘为系统提...

Android Sensor Framework 概览

1. OverviewAndroid Sensor Framework 的整体架构如图 1 所示:Android Sensor Framework 可以分为 3 大部分,各个部分的主要功能如下:SDK这一部分主要功能是为 Application 提供 Java API 接口...

SLAB 分配器和 kmalloc

为什么要有 SLAB 一般来说,一个新东西的产生总是为了解决某一个现有的问题的。那么,slab 是为了解决什么问题呢?我们知道,在 Linux 内核中的内存管理是使用伙伴系统 (Buddy System),但是这个系统有一个问题就是,它的最小单位是页,即 PAGE_SIZE ,在 x86 架构...

Android 5.1 上的 MTK GPS

本文主要介绍手机上几种常见的定位技术,以及 Android 5.1 上的 MTK GPS。几种常见的定位技术介绍纯 GPS 定位数据直接来源于卫星,即搜星,然后下载卫星数据。通过卫星的位置(从卫星上接收),卫星到接收机的距离来测算接收机的位置在无辅助信息的条件下用 GPS 定位...

WrapFS 简介

初识 WrapFSWrapFS 是一种堆栈式文件系统,堆栈式文件系统的一个基本功能就是把操作和参数转换成底层文件系统的操作和参数。这就意味着我们会在 WrapFS 层上创建一个文件对象后会在底层文件对应着创建一个对象,要说明的是,WrapFS 层的这个文件对象只保存在内存里面,断电后会消失...

基于调度器的 CPU 调频机制

最近由于 Linaro 和 ARM 主导的 EAS(Energy Aware Scheduler) 日渐完善,属于 EAS 一部分的基于调度器的调频技术也获得了很多关注。本文主要介绍基于调度器的 CPU 调频策略的原理,以及当前上游社区在这一方面最新的进展。传统 CPU 调频策略传统 ...