自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

转载 Android手机总内存和可用内存

在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小。这个该如何实现呢?通过读取文件"/proc/meminfo"的信息能够获取手机Memory的总量,而通过ActivityManager.getMemoryInfo(ActivityManager.MemoryInfo)方法可以获取当前的可用Memory量。      "/proc/

2013-10-23 15:51:59 5919

原创 msm7x27a添加camera差值以及添加新拍照分辨率尺寸

前段时间客户要求在高通7系列上加camera的差值,所以个人研究了一下这个差值的做法。首先贴上要加载的文件的地址:vendor/qcom/android-open/libcamera2/QualcommCameraHardware.cppvendor/qcom/proprietary/mm-camera/apps/appslib/snapshot.cvendor/qcom/

2013-05-06 10:47:15 5391

原创 解决休眠底电流过大调试步骤

CommentDear customer Ok, you can try solution 00024639 , may be it's related with mipi ulps mode . Thanks我将LCD屏摘掉电流是可以下得去的,为2.2mA,我先检查屏的影响。谢谢!Dear customer ma

2013-04-11 09:29:24 11846

转载 android vold磁盘管理

下面的vold源码分析的很到位,故转载!http://www.linuxidc.com/Linux/2011-12/50395p2.htm

2013-01-06 10:23:53 4255

原创 高通增大分区以及烧录失败解决

一.EMMC分区      1.修改modem惻 msm7627ym/core/storage/tools/jsdcc/partition_load/partition.xml里面的system或userdata空间大小.      2.然后编译modem侧代码,将生成的在msm7627ym/core/storage/tools/jsdcc/partition_load/目录下的文件raw

2013-01-04 14:30:45 12830

原创 如何将uboot里面的参数传给recovery或kernel

最近我们在做一个LCM两屏或三屏兼容的问题,所以首先要在uboot里面读出各屏的id,然后再将读得到的id传给recovery和kernel,实现机器的正常显示.一.首先实现uboot读lcm的id.          1.bootable/bootloader/lk/target/msm7627a_sku3_Q6_D/rules.mk是uboot里面宏开关,打开所显示的屏宏DEF

2012-12-27 09:51:26 9622 2

原创 camera GC0339 Rawdata hal层分析

很久没有出blog了,因为一直在解Bug,今天我不想成为一个解bug机器,所以我抽出一点时间来整理我本不熟悉的camera.希望各位技术达人勇于拍砖.目前我调试的是基于高通msm7627a平台的格科微摄像头GC0339.代码主要集中在vendor/qcom/android-open/libcamera2/目录下和vendor/qcom/proprietary/mm-camera/ 目录下.

2012-12-26 09:46:24 6573 2

原创 MSM7627a 调试记录

一.屏幕在休眠唤醒后闪屏?答:添加当屏幕休眠时置低reset脚,在resume的时候再重新拉高reset脚.二.在kernel内添加自己的Logo?答:1. 制作当前屏幕像素的图片(模拟器默认为320*480)使用PS制作一张320*480的图片,保存时选“保存为 Web 所用格式”,然后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo

2012-10-26 14:40:05 7895

转载 Qlcomm Android 开发环境,编译

1、高通平台android开发总结1.1 搭建高通平台环境开发环境在高通开发板上烧录文件系统建立高通平台开发环境高通平台,android和 modem 编译流程分析高通平台 7620 启动流程分析qcril 流程分析,设置sim卡锁python scons 语法学习Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境高通an

2012-10-26 09:37:37 10026

原创 Android智能机MTK平台调试记录

1.连接USB线充电,长按关机键选择重新启动,手机重启时间较久,开机后闪屏很明显答:原因是USB在扫描设备时间超时,在PC上更新USB的驱动即可。2.播放MP3,连着充电器,然后拔了充电线,连接耳机,此后喇叭跟耳机都有声音,并且耳机听的是单声道(状态栏处没有耳机识别的图标,故FM也无法搜听),重新开关机可以恢复答:当USB插入到耳机的时候,中段被识别为USB充电(GPIO被拉高),

2012-09-05 10:10:38 6107

原创 MTK Android滑盖或翻盖处理驱动

1.MTK中添加一个驱动。代码位置:mediatek/platform/mt6573/kernel/driver/要添加的目录/2.进入目录添加:slide.c 和 Makefile其中Makefile的内容如下:obj-$(CONFIG_MTK_SLIDE)   := slide.o3.再进入目录:mediatek/config/viroyal73_wg/autoconfig/K

2012-08-28 19:08:33 6580

原创 MTK 软件设置路径

1. uboot路径mediatek\custom\common\uboot\logo\hvga\hvga_kernel.bmpmediatek\custom\common\uboot\logo\hvga\hvga_uboot.bmp2. android上层动画路径vendor\mediatek\project\artifacts\out\target\product\projec

2012-08-23 11:05:34 7107 1

原创 Linux 内核中的 cdev_alloc和cdev_add

内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj;          // 每个 cdev 都是一个 kobjectstruct module *owner;       // 指向实现驱动的模块const struct file

2012-06-15 16:03:42 14146

原创 MTK6573电源管理(PM)小结

继续MTK平台的研究开始研究电源管理,因为PM永远是嵌入式的核心技术,所以静下来走一遍流程。MTK启动的过程:硬件板载的启动入口为static __init int board_init(void){    mt6573_power_management_init();    mt6573_board_init();    return 0;}其中mt6

2012-05-29 18:57:18 9516

原创 Android or Linux 的休眠与唤醒

Linux休眠/唤醒简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状态来延长电池的续航时间。这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作的,还有Android中如何把这部分和Linux的机制联系起来的.在Linux中,休眠主要分三个主要的步骤:1)冻结用户态进程和内核态任务2)调用注册的设备的suspend的回调函数,顺序是按照注册顺序

2012-05-28 17:46:56 10459 3

原创 Android的电源管理

我们从Java应用层面, Android framework层面, Linux内核层面分别进行详细的讨论:应用层的使用:Android提供了现成android.os.PowerManager类,该类用于控制设备的电源状态的切换.该类对外有三个接口函数:         void goToSleep(long time); //强制设备进入Sleep状态         Note

2012-05-25 09:15:15 6742 2

原创 Android OS MTK6573 SD卡驱动浅析

首次出关于MTK方面的驱动文章,网上也很少有这方面的文章,所以我立志要写几篇这样的文章来引导刚出道的朋友们,咱们一起努力!大家都说MTK简单,但我个人做过高通平台一年时间,然后转而做MTK平台,感觉还是能学到东西的,代码并不比所谓的高通简单,只是它做的好,封装的好,所以做这块驱动可能开发者做的事情没高通多,所以大家觉得容易,学不到东西。但只要自己对技术执着,深入到架构的实现,还是能学到很多的。

2012-05-21 13:36:11 10205

转载 Camera模块解析之驱动篇

Camera模块解析之驱动篇1  手机摄像头功能概述手机摄像头功能由多个功能模块组成,主要三个部分,采集,加工,显示。(1)采集部分由感光的sensor完成,通过CAM IF接口与手机芯片内的CAM连接。(2)CAM对CAM IF数据进行加工,主要是格式转换,特殊效果等。最终处理出来的一帧数据,存在内存中。(3) 手机的刷新线程,使用手机内部的DMA功能,或者OVERLAY技术

2012-05-06 15:17:11 7642 2

转载 LCD 驱动

1.S3C2440上LCD驱动 (FrameBuffer)实例开发讲解其中的代码也可直接参考:drivers/video/s3c2410fb.c以下为转载文章,文章原地址:http://blog.csdn.net/jianyun123/archive/2010/04/24/5524427.aspxS3C2440上LCD驱动 (FrameBuffer)实例开发讲解一、开发环境

2012-04-24 15:06:01 24735 4

原创 Android系统之Broadcom GPS 移植

1.      内核部分的移植:内核部分的移植基本上就是对芯片上下电,建立数据结构体,打通GPS通信的串口通道,以及建立文件设备结点供上层调用。所建立的文件结点是针对Power_enable和Reset两个脚。在板载文件board-msm7x30.c里需要做的任务:static void msm7x30_init_gps(void){ …       vreg_l2 = v

2012-04-13 16:10:52 12818 4

原创 BCM4330 BlueTooth 调试记录

做BT的驱动已有半年的时间多了,有一定的认识,但还没完全精通,所以用笔记来记录自己一直以来的调试过程。Part 1.有时候会出现打开蓝牙打不开的现象。答:在/system/bluetooth/bluedroid/bluetooth.c中的注册socket时间增加时间。具体做法是在函数int bt_enable()中for (attempt = 1000; attempt > 0;  a

2012-03-21 11:04:22 7136 5

转载 Linux 下的Bluetooth 架构

实战Linux Bluetooth编程(一) 协议栈概述Sam一年前在Linux下写了一个类似Windows下BTW的库--BTX。现在需要添加新功能时发现很多知识点都忘记了。所以决定在这次学习中,把一些bluez API记录下来。这几天又想,这样还不够,不如把Linux下的Bluetooth编程基础给记录下来吧。前言:随着嵌入式系统的飞速发展,很多嵌入式平台上需要Bluetoot

2012-03-16 11:07:11 18305

翻译 Android 之 Bluetooth

对于Android的英文帮助文档,总是看了记不住,远不如对中文资料那么印象深,所以下面的叙述都是对Android帮助文档Bluetooth的翻译。一、BluetoothAndroid平台包含了对Bluetooth协议栈的支持,允许机器通过Bluetooth设备进行无线数据交换。应用框架通过Android Bluetooth API访问Bluetooth功能模块。 这些API能让应用无线连接

2012-03-16 10:25:40 6743

原创 WIFI手动命令行连接AP

在我们调试WIFI模块的时候经常碰到这样那样的问题,关键是要找到问题出现在哪层,然后再深入分析。找问题出现在哪一层,用手动命令是最直接的方法。一下就可以分辨出到底是上层还是底层的问题,下面列出WIFI的手动命令行:关于wpa_supplicant:用到wpa_cli命令wpa_cli -iwlan0 add_network             // wlan0 是无

2012-02-08 16:02:30 8866

原创 Android BCM4330 FM 驱动驱动

FM Porting 1 修改init.xxx.rc 增加服务,并把btld push到/system/bin下service btld /system/bin/logwrapper /system/bin/btld user root group bluetooth net_bt_admin disabled oneshot 2 合并system\bluetooth\

2012-01-10 11:17:17 8167 6

原创 Android BCM4330 蓝牙BT驱动调试记录

网上关于BT的驱动很少,所以我在开发过程中把其中的步骤记录下来。供大家相互学习讨论。一、关于BT driver的移植:1. Enablebluetootch in BoadConfig.mk       BOARD_HAVE_BLUETOOTH := true2.实现BT电源管理rfkill驱动。Kernel/dr

2012-01-06 12:01:28 22188 3

转载 Android 中的WiFi学习笔记——经典

Android的WiFi我们通常看到WiFi的守护进程wpa_supplicant在我们的ps的进程列表中,这个就是我们的wifi守护进程。wpa_supplicant在external/wpa_supplicant里实现wpa_supplicant适配层是通用的wpa_supplicant的封装,在Android中作为WIFI部分的硬件抽象层来使用。wpa_supplicant适配层主要用于封装

2011-12-28 17:07:33 5826

原创 BCM4330 WIFI 调试记录

Part 1 问:打开wifi,连接wifi热点,提示连接成功,但headbar上不显示wifi图标,back退出wifi设置,再进入,提示wifi已断开。答:首先现象复现,当现象复现时进入adb shell,然后输入ifconfig 查看是否有wlan0 端口,然后在adb shell 中ping 192.168.1.101(嵌入式设备的IP),如果能Ping通则说明底层wifi设备与A

2011-12-26 16:27:41 12677 9

转载 Run-time PM 详解

Run-time PM. 每个device或者bus都会向run-time PM core注册3个callbackstruct dev_pm_ops {...int (*runtime_suspend)(struct device *dev);int (*runtime_resume)(struct device *dev);int (*runtime_idle

2011-12-24 15:25:48 2986

转载 Git和Repo扫盲——如何取得Android源代码

两篇Git的使用技巧性文章:活灵活现用Git--基础篇:  http://phoenixtoday.blogbus.com/logs/33458940.html活灵活现用Git--技巧篇:  http://phoenixtoday.blogbus.com/logs/35149540.htmlGit 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的

2011-12-24 15:24:10 1371

转载 Android Power Management 实现

总体上来说Android的电源管理还是比较简单的, 主要就是通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理架构图如下: (注该图来自Steve Guo)    接下来我们从Java应用层面, Android framework层面, Linux内核层面分别进行详细的讨论:  应用层的使用:  Android提供了现成android.os.Power

2011-12-24 15:21:53 1224

翻译 翻译:Linux的电源管理架构

设备电源管理Copyright (c) 2010 Rafael J. Wysocki, Novell Inc.Copyright (c) 2010 Alan [email protected] *************************************************************本文由DroidPhone翻译于201

2011-12-24 15:20:44 2174 1

原创 linux休眠唤醒(四)

suspend第三、四、五阶段:platform、processor、corestatic int suspend_enter(suspend_state_t state){       int error;        if (suspend_ops->prepare) { // 平台特定的函数,mtkpm.c, 有定义,对pmic和cpu dll的一些设置

2011-12-24 15:18:29 2147

转载 Linux休眠唤醒(三)

五、suspend和resume代码走读   下面对suspend分的几个阶段都是按照pm test的5中模式来划分的:freezer、devices、platform、processors、core。suspend第一阶段:freezerint enter_state(suspend_state_t state){       int error;

2011-12-24 15:17:15 4942

原创 Linux 休眠唤醒(二)

三、pm_test属性文件读写int pm_test_level = TEST_NONE; static const char * const  pm_tests[__TEST_AFTER_LAST] = {       [TEST_NONE] = "none",       [TEST_CORE] = "core",       [TEST_CPUS] = "proces

2011-12-24 15:15:20 2612

转载 Linux 休眠唤醒(一)

说明:1. Based on linux2.6.32,  only for mem(SDR)2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.docLinux系统的休眠与唤醒简介.doc3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论4. 基于手上的一个项目来讨论,这里只讨论共性的地方 虽然linux支持三种省电模式

2011-12-24 15:13:39 2611 1

原创 ubuntu 常用命令

查看软件xxx安装内容   #dpkg -L xxx   查找软件   #apt-cache search 正则表达式   查找文件属于哪个包   #dpkg -S filename apt-file search filename   查询软件xxx依赖哪些包   #apt-cache depends xxx   查询软件xxx被哪些包依赖   #apt-cache rdepends xxx

2011-12-19 13:30:26 1576

原创 Linux中vim的应用技巧

一、显示行号信息   即时命令   :set nu   永久命令   echo “set nu”>>~/.vimrc     二、一个窗口操作两个文档   :sp filename 垂直分割窗口   :vert sp filename 水平分割窗口   Ctrl+w j/k 上下窗口间移动光标   Ctrl+w h/l 左右窗口间移动光标     三、进入vi的命令   vi filename :

2011-12-19 13:24:14 1213

原创 BCM4330 Android OS Wireless Develop

做WIFI&BT已经有2个月了,心里至少对这块的移有了一定的了解。趁着深夜,也试着整理一下。首先交代开发环境——硬件平台:高通MSM8225,OS:Android2.3.5,无线模块:brodcom BCM4330。一、WIFI:      首先保证上好电:在platform/kernel/arch/arm/mach-msm/board-msm7x30.c中实现GPIO管脚的配置,也要

2011-12-03 23:05:10 6404 4

转载 安卓WIFI 移植

手动加载驱动####16th,Jul驱动加载modprobe libertasmodprobe libertas_sdio加载第二行时出错拉# modprobe libertas_sdiolibertas_sdio: Libertas SDIO driverlibertas_sdio: Copyright Pierre Ossmanmodel=0xbsd86

2011-11-22 10:07:21 10866 1

空空如也

空空如也

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

TA关注的人

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