魅族内核团队

一个有内涵的技术分享平台

Android Binder

1、binder原理纵观现有市面上所有讲binder的文章,都存在一个最大的问题:没有讲清楚binder对象是什么?不清楚binder对象是什么,那就不能理解handle是什么?不能理解什么时候是binder什么时候是handle,那就不能真正理解整个IPC的通讯过程。 我们首先回到binder的目的,就是IPC(Inter-Process Communication)进程间通讯。那么怎么样......

kernel 空间加载用户空间fw实现原理

随着手机外围器件的集成度和复杂度越来越高, 单纯的设置相关寄存器已经无法使得器件可以正常的工作. 在一般情况下,需要将一个特定的fw下载到器件中, 确保器件可以正常稳定的运行, 比如:camera ois,camera actuator, TP等等. 一般情况下, 有以下三种方案: 直接将fw data转化为特定的数组,编码在驱动代码中. 将fw data烧录到一个分区中,需要的时候从分区......

Android FBE

Android FBE1. FBE 简介 名称: FBE, File-Based Encryption,基于文件的加密 凭据加密 (CE) 存储空间:这是默认存储位置,只有在用户解锁设备后才可用。设备加密 (DE) 存储空间:在直接启动模式期间以及用户解锁设备后均可用。 开启 FBE 方式,在相关的 fstab 文件中添加相关的代码: 1/dev/block/bootdevice/by-n......

Linux Time

1、Linux时钟框架DroidPhoneo 上图是linux时钟框架一个经典的描述。本质上linux各种时钟架构和服务是基于硬件提供的两种timer而构建的。 1、定时Timer 这类timer每个cpu都有一个独立的,称为local timer。这类timer的中断一般都是PPI(Private Peripheral Interrupt)类型,即每个cpu都有独立一份中断。 与PPI对......

Device Tree 详解

1、DTS语法对于DeviceTree的来历和用处大部分人都已经非常了解了,DeviceTree发源于PowerPC架构,为了消除代码中冗余的各种device注册代码而产生的,现在已经成为了linux的通用机制。 DeviceTree的结构非常简单,由两种元素组成:Node(节点)、Property(属性)。下图是一个真实的简单的DeviceTree树形结构图。 Node节点。在DTS中......

TEE 软件交互流程概述

前言 本文建立在你已经对 TEE 技术的基础知识有一定了解的基础之上,如需了解,可以阅读本博客的文章《指纹 TEE》1。 本文将基于 OP-TEE2 开源 TEE 软件,介绍 TEE 软件中,REE 客户端访问 TEE 环境资源的具体调用流程。 为此,本文首先会介绍实现 REE 到 TEE 调用的各个基础组件组成以及各自功能,然后分析各个基础组件的交互流程时序,使读者对 TEE 软件的运行逻......

内存管理 —— ION

ION 是当前 Android 流行的内存分配管理机制,在多媒体部分中使用的最多,例如从 Camera 到 Display,从 Mediaserver 到 Surfaceflinger,都会利用 ION 进行内存分配管理。ION 的前任是 PMEM,关于 PMEM 我在 M030/M04X 项目中有接触过,后来由于 PMEM 的一些局限性,Google 推出了 ION 来取代 PMEM,当前......

Android MTP 分析

mtp简介MTP,全称是 Media Transfer Protocol(媒体传输协议)。它是微软的一个为计算机和便携式设备之间传输图像、音乐等所定制的协议。 Android 从3.0开始支持 MTP。MTP 的应用分两种角色,一个是作为 Initiator,另一个作为 Responder 。以”Android 平板电脑”连接 PC 为例,他们的关系如图所示。 Initiator —— 在......

samsung uboot fastboot command

1 fastboot协议fastboot 协议是一种通过 usb 连接 pc 和 bootloader 的机制。他被设计的非常容易实现,能够用于多种设备和运行于 Linux、Windows 或者 OSX 的主机。下面将会讲述 pc 和 bootloader 如何通信,以 fastboot flash 命令举例。 1.1 pc 端假设烧写的镜像名为 uboot.bin,烧写的分区名为 boot......

指纹 TEE

指纹 TEE TEE 介绍 TEE 架构 TEE 启动流程 TEE 应用场景以及前景 指纹硬件原理 指纹硬件原理 指纹通信接口与硬件资源 指纹软件框架 指纹TEE软件框架 指纹软件机制 一、TEE 介绍 1. TEE 架构TEE(Trusted Execution Environment) 是基于 ARM TrustZone 技术拓展而来的,TrustZone 技术是基于 A......