自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

转载 Android平台中振动器系统详解

一:  振动器系统结构和移植内容 振动器负责控制引动电话的振动功能,Android中的振动器系统是一个专供这方面功能的小系统,提供根据时间振动的功能。 振动器系统包含了驱动程序、硬件抽象层、JNI部分、Java框架类等几个部分,也向Java应用程序层提供了简单的API作为平台接口。 Android振动器系统的基本层次结构如图23-1所示。  图23-1  A

2012-06-29 15:25:09 980

转载 Linux设备驱动之I2C架构分析

http://soft.chinabyte.com/os/455/12259955.shtml一:前言  I2c是philips提出的外设总线。I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线。另外,I2C是一种多主机控制总线。它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以。而I2C是基于mu

2012-06-29 15:22:53 775

转载 内核中_init,_exit中的作用

http://blog.csdn.net/maopig/article/details/7409870__init, __initdata等属性标志,是要把这种属性的代码放入目标文件的.init.text节,数据放入.init.data节──这一过程是通过编译内核时为相关目标平台提供了xxx.lds链接脚本来指导ld完成的。    对编译成module的代码和数据来说,当模块加载时,_

2012-06-20 17:03:00 768

转载 Linux驱动中的platform

**********************************************************************************************http://www.chineselinuxuniversity.net/articles/49421.shtml从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device

2012-06-20 17:01:05 5586

转载 wait和waitpid详解

http://hi.baidu.com/qiaoyongfeng/blog/item/3d6fc100bcf93e17738b6576.htmlwait的函数原型是:  #include#include pid_t wait(int *status)           进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果

2012-06-13 15:54:48 236

转载 android启动--深入理解zygote

http://www.2cto.com/kf/201203/123062.html前一篇http://www.2cto.com/kf/201203/123061.html文章介绍了init进程的启动过程,其中就有解析init.rc脚本,而根据其内容配置启动了很多重要的服务:Servicemanager和zygote进程就奠定了Android的基础,建立了真正的android空间。

2012-06-13 15:51:45 980

原创 SW watchdog 分析

1. android framework层中的watchdog,它属于一种软件Watchdog实现。    a.接收系统内部reboot请求,重启系统。    b.监护SystemServer进程,防止系统死锁, 确保ActivityManagerService、WindowManagerService和 PowerManageService发生死锁后,退出SystemServer进程,让

2012-06-11 11:24:34 5897 2

原创 PDP backlight cannot work 和Backlight 的ASL不起作用(Riogrande Platform)

1. ADB Command: /sys/class/leds/lcd-backlight/brightness ,实际路径/sys/devices/i2c-0/2-0040/leds/lcd-backlight    echo 0 > brightness \n    echo 100 >brightness    cat brightness2. Check system/co

2012-06-11 11:17:42 1299

原创 如何手动mount sdcard和检测到sd card

1. mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard; 不好用!2. [Framework 层]主要分析 system/vold/main.cpp, DirectVolume.cpp, Volume.cpp[void Volume::setState(int state); int Volume::mountVol()]3. [Framewor

2012-06-11 11:16:14 4619

原创 USB mass storage驱动分析

1. USB驱动代码在/drivers/usb/gadget下,有文件:android.c,其他驱动文件f_adb.c,f_mass_storage.c;其中android.c 依赖于f_adb.c 和 f_mass_storage.c(这两个文件之间无依赖关系)。2. usb_mass_storage重新mount一个分区;    a. adb shell 进入/sys/devices/

2012-06-11 11:15:03 7708 1

原创 Android Socket 机制(即demoen 服务进程的机制)

1. init.rc 中有    service vold /system/bin/vold    console    socket vold stream 0660 root mount    ioprio be 22. system\core\init\init.c 中init_parse_config_file("/init.rc");会解析;   init_parse

2012-06-11 11:14:11 2644

原创 Kernel log 输出机制(Riogrande Platform)

1. dmesg 读取kernel 的log, system/core/toolbox/dmesg.c 文件中dmesg_main函数-->klogctl, 可以看到只支持dmesg -c,并且用dmesg显示kernel log不能连续显示(可从代码中看出来),用cat proc/kmsg 则可以连续显示kernel log.2. klogctl函数的定义在那? bionic/libc/ar

2012-06-11 11:12:19 8553

原创 System call 的分析

0. sysfs_write_file@kernel/fs/sysfs/file.c1. vfs_write@kernel/fs/read_write.c2. sys_write@kernel/fs/read_write.c有SYSCALL_DEFINE3(write, unsigned int, fd, const char __user *, buf,    size_t, count

2012-06-11 11:10:13 4154

原创 System manager分析

0. 以下分析的是systemservice如何启动1. init.rc 中有    service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server    socket zygote stream 666    onrestart write /proc/sysrq

2012-06-11 11:08:58 1351

转载 ServiceManager & SystemService

http://blog.csdn.net/xieqibao/article/details/6602820Android 之 ServiceManager与服务管理ServiceMananger是android中比较重要的一个进程,它是在init进程启动之后启动,从名字上就可以看出来它是用来管理系统中的service。比如:InputMethodService、Acti

2012-06-11 11:00:55 2386 1

原创 电池容量足够低如何触发自动关机(Riogrande platform&Qualcom platform)

1. 进入手机/sys/devices/platform/nmk-i2c.2/i2c-2/2-0040/leds/ 或 sys/class/leds/目录list如下    pwr-red,pwr-green,pwr-blue //控制充电led        l-key-red,l-key-green,l-key-blue //控制left button led    m-key-r

2012-06-05 15:52:49 11628 3

原创 Worknote-xin(blue platform)

一、如何下载代码和flash image1. https://wiki.sonyericsson.net/androiki/CM_information_of_Blue_Program    a. maki是9.0.A.0.x, ics-blue-3.0 , https://wiki.sonyericsson.net/androiki/CM_information_of_Blue_Prog

2012-06-05 15:27:18 1441

原创 Charger&FuelGauge (Riogande platform)

1. *#*#4636#*#* 可查看 手机信息,电池信息2. https://wiki.sonyericsson.net/androiki/Fuel_Gauge_FAQ 如何抓fuel gauge 的log    a. How to save kernel logs to phone memory        $ adb shellmkdir /data/debugfsmo

2012-06-05 15:21:46 2426

原创 Power Manager的分析研究(wakelock)

1. Android Application 如何使用wakelock    a.  PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);-->getSystemService@frameworks/base/core/java/android/view/contextthemewrapper.jav

2012-06-05 15:20:11 5877

原创 dynamic debug log输出机制

dynamic debug log输出机制0. 注意该机制只对 dev_dbg -> dynamic_dev_dbg定义的debug log输出加以控制1. 如何使用:(kernel/Documentation/dynamic-debug-howto.txt)                mkdir /data/debugfs                mount -t

2012-06-05 15:17:56 14753

转载 likely() and unlikely()

likely() and unlikely()The gcc C compiler has a built-in directive that optimizes conditional branches as either very likely taken or very unlikely taken. The compiler uses the directive to appropri

2012-06-04 11:01:03 618

selfupgrade_app_test

app upgrade by itself

2019-03-05

空空如也

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

TA关注的人

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