Android WiFi--系统架构

1. 系统架构         Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示:    一切尽在上图中,下面将对每部分进行详细分析。 1.1 Wifi...

2012-10-30 18:07:40

阅读数:43675

评论数:11

Android WiFi系统

一、wpa_supplicant是什么?       wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是w...

2012-10-30 09:36:38

阅读数:8243

评论数:0

Android 系统属性

一、 简介         每一个属性都是一个名值对,名和值都是文本。Android系统中,属性被大量使用,用来记录系统设置或者在进程间交换信息。属性在整个系统中是可见的,每一个进程都可以get/set属性。        系统初始化时,在init这个进程中,Android会分配一些内存来存储...

2012-10-27 17:23:28

阅读数:2385

评论数:0

Bootloader - Main system - Recovery的三角关系

一、MTD分区: BOOT:        boot.img,Linux kernel (within normal ramdisk) MISC:        bootloader message struct RECOVERY:    recovery.img,Linux kernel ...

2012-10-26 15:53:19

阅读数:10389

评论数:3

Android OTA 升级(五):updater

一、简介       前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater。Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型的脚本,amend & edify(Amend脚本在Android 1.5中已经被废除,...

2012-10-26 11:41:15

阅读数:4679

评论数:1

Android OTA 升级(四):进入根文件系统

一、简介         从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。 下面,我们就看看进入Recovery 根文件系统都干...

2012-10-25 17:59:11

阅读数:3656

评论数:0

Android OTA 升级(三):生成recovery.img

一、简介   得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行 bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式。Recovery 模式会装载 recovery 分区, 该分区包含rec...

2012-10-25 17:38:00

阅读数:3769

评论数:0

Android OTA 升级(二): 脚本 ota_from_target_files

1. ota_from_target_files简介          前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。不带任何参数,先看一下它的帮助: $ ./ota_from_t...

2012-10-25 15:39:35

阅读数:4257

评论数:0

Android OTA 升级(一): 编译升级包

1. OTA功能介绍        OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了全量升级和增量升级模式,可以通过SD卡或U盘升级,也可以通过网络升级。这里,我们先研究最简单的情况,通过SD卡进行完全升级。 2. 编译OTA全量升级包    1) 首先编译出...

2012-10-25 11:42:37

阅读数:4849

评论数:0

Android Image文件结构

1. ramdisk.img          一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount ,这个文件中只是包含了 /init 以及一些配置文件,这个ramdisk 被用来调用init,以及把真正的root file system mount 起来。它经常被打包...

2012-10-25 11:11:36

阅读数:4207

评论数:0

Android解包打包system.img的方法

1.  system.img为yaffs2镜像 2. 解包         对system.img的解包需要用到unyaffs这工具,下载地址:http://code.google.com/p/unyaffs/downloads/list     下载以后和system.img放入同一个...

2012-10-25 10:56:53

阅读数:16523

评论数:0

分析Android 根文件系统启动过程(init守护进程分析)

今天开始分析Android 根文件系统启动过程。 在Android系统启动时,内核引导参数上一般都会设置“init=/init”,这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Readthe Fucking S...

2012-10-24 15:52:57

阅读数:1599

评论数:0

Android boot.img 结构

1. Android 的boot.img 包括 boot header,kernel, ramdisk 2. 首先来看看Makefile是如何产生我们的boot.img的:      boot镜像不是普通意义上的文件系统,而是一种特殊的Android定制格式,由boot header,压缩的...

2012-10-24 14:48:21

阅读数:1693

评论数:0

CPU frequency and voltage scaling code in the Linux(TM) kernel

1.  基本介绍    1) 调整CPU运行频率是一个节能的好方法,CPU运行频率越低,CPU功耗越小。    2) 下面的我现在正在使用的CPU为例进行说明。触发CPU频率调整的有两个源:       1)根据CPU负荷进行调整(代码位于:kernel/drivers/cpufreq,下面...

2012-10-23 09:02:42

阅读数:5972

评论数:1

Android获取系统cpu信息,内存,版本,电量等信息

1、CPU频率,CPU信息:/proc/cpuinfo和/proc/stat 通过读取文件/proc/cpuinfo系统CPU的类型等多种信息。读取/proc/stat 所有CPU活动的信息来计算CPU使用率,下面我们就来讲讲如何通过代码来获取CPU频率: package com.orange...

2012-10-20 09:54:27

阅读数:14993

评论数:0

Android下如何获取CPU序列号

public static String getCPUSerial() {           String str = "", strCPU = "", cpuAddress = "0000000000000000";     ...

2012-10-20 09:49:31

阅读数:5810

评论数:1

Linux workqueue工作原理

1. 什么是workqueue        Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化...

2012-10-19 17:02:37

阅读数:32349

评论数:6

DVFS--动态电压频率调整

Linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。        cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更...

2012-10-19 11:28:33

阅读数:10112

评论数:0

把驱动代码加入Linux Kernel

1. Kconfig文件的作用 内核源码树的目录下都有两个文件Kconfig(2.4版本是Config.in)和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(...

2012-10-13 17:48:38

阅读数:2952

评论数:0

vmware中的bridge、nat、host-only的区别 .

概述: VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。 1.bridged(桥接模式)   在这种模式下,VMWare虚拟出来的操...

2012-10-13 09:08:13

阅读数:1067

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭