- 博客(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
转载 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人