自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

石头的专栏

深入理解Android与其他技术,管理,人生百态,团队建设等

  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 SD卡 问题总结

Android读取SDcard的权限问题清单中已设置以下权限,File file = new File("/sdcard/"),file.canRead()返回假原因是File file = new File(“/sdcard/”+"filename"); 你必须加上文件名 "/sdcard/" 只是目录 缺少文件名!

2012-09-25 09:34:10 998

转载 Android Recovery 的代码分析

1、调用main函数在gingerbread/bootable/recovery/recovery.c最下面有个main(),这是recovery应用的主入 口,当编译recovery的时候,会生成一个名为recovery的可执行文件,我这边是放在out/目录下recovery/文件系统的/sbin目 录下,调用recovery可执行文件时会传入参数,这些参数就是main函数的参数,如下

2012-09-21 11:53:45 486

转载 Android Recovery 的流程分析

做个升级程序,支持SD卡、U盘、Flash三种路径升级该升级应用程序要和/recovery/sbin/下的recovery配套使用,固件共有boot.img,recovery.img,system.img,其中system.img是空的,system.img打包格式要和recovery.img匹配使用此程序:先把librecovery.so是添加到rootfs文

2012-09-21 11:52:39 1969

转载 Linux内存初始化

注:本文中提及的ICE为一个使用Android2.1(Linux2.6.29)的项目。 在进入复杂的内存初始化过程前,我们先看看初始化后的内存分配及映射图,以便有一个整体的印象。以此印象为轴,将各个小的过程、细节串起来达到最终对内存认识的融会贯通。图1-1描绘的是ICE平台划给Linux的464M内存初始化后的结果:  图1-1:ICE初始化后的内存1.1 获取内核参数

2012-09-18 16:56:37 604

转载 解析linux根文件系统的挂载过程

出处:http://ericxiao.cublog.cn/------------------------------------------一:前言前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。二:r

2012-09-18 16:47:26 495

转载 Linux驱动的地址空间和硬件地址空间说明

作者:李强,华清远见嵌入式学院讲师。有这么几个问题,在上驱动课程的时候,我感觉一直困扰着同学们:        ●    用户程序编译连接形成的地址空间在什么范围内?        ●    内核编译后地址空间在什么范围内?        ●    要对外设进行访问,I/O的地址空间又是什么样的?于是就有了这篇文章,从大概上把内存相关知识点介绍一下,减少同学们在驱动课时对内存的

2012-09-18 16:44:51 716

转载 QualComm 8x50 上MMC host controller 硬件检测分析

in MMC host controller driver initialization process, msmsdcc_probe() function will be called. but in fact, kernel has not detected the real MMC host controller hardware till now, so it should has det

2012-09-18 16:42:17 749

转载 Linux 的虚拟文件系统(强烈推荐)

1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行。如图 1 所示,我们可以使用 cp 命令从 vfat 文件系统格式的硬盘拷贝数据到 ext3 文件系统格式的硬盘;而这样的操作涉及到两个不同的

2012-09-18 16:29:28 1167

转载 Linux设备驱动子系统第四弹 - USB Gadget

1. 前言2. 源码架构3. 枚举过程1. 前言Gadget,小饰品。USB Gadget,就是指所开发的电子设备以USB从设备的模式通过USB连接到主机。比如手机用USB线插入PC后,手机就是USB Gadget。本文以Mavell为例,以Gadget插入主机的全过程为主线,分析USB Gadget的架构。 2. 源码架构USB的源码位于/drivers/usb文

2012-09-18 16:20:07 634

转载 Linux启动流程

1 Bootloader对于一般的ARM处理器,CPU上电或复位执行第一条指令所在地址,即第一段程序Bootloader的开始地址,Bootloader一般存于Nor-flash(XIP),支持芯片内执行。Bootloader的功能可总结为:1)初始化CPU时钟,内存,串口等。2)设置Linux启动参数。3)加载Linux内核镜像。Android源码位于根目录下的/bootable文件夹。

2012-09-18 16:19:02 430

转载 Linux各模块框架

整理自>1. Serial2. Input3. I2C4. USB5. Video6. Audio7. Block8. MTD

2012-09-18 16:11:14 500

转载 深入理解Android Sensor系统 (4.0)

曾几何时,本人写了一篇Android传感器初探"惊艳整个篮球场"...一转眼两年过去了,真是物逝人非,技术更新的快啊,如今都已经4.0巧克力冰激凌了...0. 总论本文希望分别从动态角度(应用程序进程)以及静态角度(框架体系架构)两方面来理解传感器系统。1. 上层应用从编写应用程序的角度来看,比较简单,大体分如下4步,便可得到一个传感器实时上报的数值并作处理,1) 得到传感器服

2012-09-18 16:06:32 755

转载 请把Camera hold住 - Android高通平台调试Camera驱动全纪录

项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求。1日 搭平台,建环境,编译内核,烧写代码。我是一直在Window下搭个虚拟机登服务器搞开发的,对Linux系统环境实在无爱,每每一到项目刚开始要搭环境了,内心总有点排斥,过程就比较纠结,看来以后还是要搞个linux真机玩玩。2日 编写camera驱动大致框架,配置GP

2012-09-18 15:57:33 3858

转载 Android电源管理

Android电源管理方面网上资料比较多,这里就梳理下Android源码的线索,关注wake_lock和early_suspend。使一个应用程序不进入睡眠,须在上层申请一个wakelock锁,并对该锁进行持有。在acquire()和release()间,进程保持running状态。持有锁acquire()经过framework层PowerManagerService.java到抽象层Po

2012-09-18 15:54:58 609

转载 Android 音频系统

0. 专用术语1. 物理结构2. 系统架构 本文基于Freescale IMX平台Codec ALC5625为例。0. 专用术语 ASLA - Advanced Sound Linux Architecture OSS - 以前的Linux音频体系结构,被ASLA取代并兼容 Codec - Coder/Decoder I2S/PCM/AC97 - Codec

2012-09-18 15:51:53 779

转载 Android Vold架构

1. 总体架构2. 流程概览2.1 开启Vold2.2 引导Uevent2.3 处理事件 Vold - Volume Daemon存储类的守护进程,作为Android的一个本地服务,负责处理诸如SD、USB等存储类设备的插拔等事件。1. 总体架构Vold服务由volumeManager统一管控,它将具体任务分别分派给netlinkManager, command

2012-09-18 14:04:10 788

转载 Android底层开发工作小结Camera, Sound, SD, USB, G-sensor, TP,factory

2010 - 微博元年,智能手机元年,2011 - 平板电脑元年,2012 - 智能电视元年。又到年末,是时候梳理下Android开发工作,展望下未来了。本文仅供我个人参考...开发产品 电子书 手机 平板电脑负责模块 Camera, Sound, SD, USB, G-sensor, TP软件平台 Android 1.6/2.2/2.3硬件平台 Mavell PX

2012-09-18 14:03:18 1494

转载 Linux设备驱动子系统第一弹 - I2C

1. Overview2. Data Structure3. Adapter4. I2C-core5. Slave Device 1. Overview  1.1 Definition I2C           Inter-Integrated Circuit SMBUS      System Management Bus, the I2C subset

2012-09-18 14:01:47 481

转载 设备驱动外传 - 虚拟总线和platform device

1. 总论2. 系统初始化 platform device3. 驱动程序使用 platform device   1. 总论Linux-2.6.11引入了设备模型的概念,将大部分设备驱动挂载到虚拟总线上。其目的在于:1) 提供友好的用户接口,用户可以在sys/bus/platform/下找到相应的驱动和设备。2) 更有利于电源管理。  2.

2012-09-18 14:01:10 470

转载 SD卡 精

1. 总论2. 主控制器3. 协议层4. 块设备1. 总论 1.1 概念MMC - MultiMedia CardSD    - Secure Digital Card1.2 分类按存储大小,普通SD卡(2GB,按体积大小,普通SD卡,mini-SD卡,micro-SD卡(TF卡)1.3 速度默认模式: 12.5MB/s高速模式: 25MB/

2012-09-18 14:00:44 1532

转载 qualcomm MMC子系统

一          本mmc子系统主要讨论了下述内容:        关于mmc子系统,各硬件平台、各Linux版本之间的差异;        阅读mmc子系统需要的知识准备;        啥是是mmc,啥又是SD,啥又是SDIO;        一些LInux设备模型的重现;        虚拟总线;        mmc子系统的结构组织;

2012-09-18 10:29:23 2693

转载 OmniPeek 基础之协议分析

Ominpeek介绍 Ominpeek 官网: http://www.wildpackets.com   Ominpeek一款网络抓包工具,或者说网络协议分析工具。不是管是前端开发、后端开发或都测试人员。为了解数据是否正常的传递,经常会用到网络数据包拦截软件来进行分析。  Ominpeek 与我们常用的HttpWatch、Fildder 略有不同。HttpWatch 是基于浏览器的

2012-09-13 17:49:04 1533

转载 Android 系统 目录 分析

转自:hknote 及Ophone8 作者:Wanan.'s  及  O友今天要来分析一下Android文件系统的/system目录的结构。/system目录是在Android文件系统占有及其重要的位置,基本上所有的工具和应用程序都在这个目录下,我看来是一个真正的rootfs。他在Android手机中存放在nandflash的mtd3中,是一个yaffs2文件系统,在启动时被挂载在root

2012-09-11 13:48:40 809

转载 Android RTC 自下而上分析

在android中,定时alarm功能是很常用的,现在来分析下怎么实现的,这里将采用自下而上的方式讲解。arm: cortex-a8        Board: FS_S5PC100        Linux: 2.6.29        Android: 2.11、 RTC控制器1.1 feature实时时钟(RTC)单元可以通过备用电池供电,因此,即

2012-09-11 11:47:22 614

转载 Linux驱动程序开发实例

http://book.51cto.com/art/201205/337656.htm

2012-09-11 11:46:22 1246

转载 android boot process from power on

1. Power on and boot ROM code execution          开机并执行 boot ROM 代码    At power on the CPU will be in a state where no initializations have been done. Internal clocks are not set up and t

2012-09-11 11:00:09 472

转载 android boot 代码流程

之前这篇,从整体展示了 android 的整个启动流程,为了搞清楚 android 启动到底在代码层面上是如何调用的,将从源代码角度去分析,另所有代码基于 android 4.0 source tree   all story begin with the init process startup       故事从 init 进程启动开始init 运行,代码:system/c

2012-09-11 10:59:07 1332 1

转载 Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同

1、文件系统:不同于桌面系统与服务器,移动设备大多采用的不是硬盘而是采用 Flash 作为存储介质。因此,Android 内核中增加了标准 Linux 专用于 Flash 的文件系统 YAFFS2。对 NAND/Flash 芯片有着良好的支持。YAFFS2是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外断电对文件系统一致性和完整性的影响。YAFFS2按层次结构设计

2012-09-11 10:54:46 1876

转载 Android系统分区理解及分区目录细解

···Android分区: System分区, Data分区,Cache分区,SDCard分区.在Adb中使用df 来查看分区情况。 1 跨分区不能用 MV命令来拷贝。但是可以用CP命令。如PWD,当前目录为:/data/local/tmp 。 此目录下有个busybox和1.txt文件。则利用CP命令拷贝如下:./busybox cp1.txt /system. 2 Androi

2012-09-11 10:45:35 9152 2

转载 几种常用的排序算法

1 快速排序介绍:  快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需

2012-09-11 09:40:58 848

转载 Android应用程序内存分析

Dalvik虚拟机支持垃圾收集,但是这不意味着你可以不用关心内存管理。你应该格外注意移动设备的内存使用,在上面内存空间是受到限制的。在这篇 文章里面,我们来看看Android SDK里面的一些内存剖析工具(profiling tools)是如何帮助我们修整应用程序的内存使用。一些内存使用问题是很明显的,例如,如果在每次用户触摸屏幕的时候应用程序有内存泄露,将会有可能触发OutOfMemor

2012-09-11 09:39:50 468

转载 Android ContactsContact

Android刚开始在通讯录方面好像是提供的Contacts这个类,又在SDK2.0发布后新加了一个ContactsContract,然后就不建议用Contacts这个旧的类了。有新的东西,当然要用新的了。http://developer.android.com/reference/android/provider/ContactsContract.html  对于ContactsCont

2012-09-11 09:38:46 1068

转载 Android ADB Shell命令大全

apktool反编译工具:http://download.csdn.net/detail/zkdemon/3722580获得android模拟器root权限的命令 .adb shellmount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system1. 显示系统中全部Android平台:     andro

2012-09-11 09:37:03 3987

转载 AIDL

什么是AIDLAIDL:Android Interface Definition Language,即Android接口描述语言。  Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信(icp:interprocess communication :内部进程通信)。  为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了

2012-09-10 17:23:24 470

转载 Android JNI 使用的数据结构JNINativeMethod详解 ||建立Android SDK下的JNI、JAVA应用完整步骤---Android JAVA调用C++代码

Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:  typedef struct {const char* name;const char* signature;voi

2012-09-10 16:39:31 989

转载 Android调用堆栈跟踪

在通常的C/C++代码中,可以通过响应对内存操作不当引起的Segmentation Fault错误即信号SIGSEGV(11)做出响应处理。只要在程序中设置SIGSEGV的handler中,调用libc的backtrace,打出对应的堆栈信息,很快就能找到问题所在。但在Android中,bionic并不提供类似功能,而且log信息是走的logger,通过logcat才可以看到。但是android也

2012-09-10 16:37:22 726 1

转载 Android.mk用法

根据eoeandroid上的的连载,进行一些更新、修改和加亮。今天翻译ANDROID-MK.TXT文件(英文原文件在/development/Ndk/Docs/android-mk.txt)Android.mk文件语法规范 Introduction:Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法。在阅读下面的内

2012-09-10 16:36:20 433

转载 Android异常跟踪调试

1.异常调试信息内容以下信息基于MIPS处理器的Android应用程序产生异常时的信息:  signal 8 (SIGFPE), fault addr 5110d61c  zr00000000  at 30000400  v0 00000000 v1 00000000  a0 00000000  a100000000  a2 32973668  a3 00000000  t

2012-09-10 16:32:08 1108

转载 Android的垃圾回收机制(android refbase类(sp wp))

sp和wp的实现过程~~        个人觉得sp和wp实际上就是android 为其c++实现的自动垃圾 回收机制 ,具体到内部实现,sp和wp实际上只是一个实现垃圾回收功能的接口 而已,比如说对*,->的重载,是为了其看起来跟真正的指针一样,而真正实现垃圾回收的是refbase这个基类。这部分代码的目录 在:/frameworks/base/include/utils/RefBase

2012-09-10 16:29:59 464

转载 Linux Android 下如何读取SD卡的ID--读取SD Card ID(SD CID)

使用以下命令:cat /sys/devices/platform/jz-msc.0/mmc_host/mmc0/mmc0:1234/cid或者使用通配符cat /sys/devices/platform/jz-msc.0/mmc_host/mmc0/mmc0:*/cid 得到32个字节的数据:0254 4d53 4130 3847 0610 ebb5 5000 a93f

2012-09-10 16:26:22 3870

android4.3softap流程图

andoid4.3 hotspot/softap 流程图 结构框架图

2014-03-13

星际译王加朗道词库打包下载

星际译王加朗道词库打包下载 需要解压缩

2014-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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