Android开发

DISCOVER·POTENTIAL

嵌入式开发中的一些网站收集

内核源码 在线查看检索Android源码的网站 下载Android源码 uboot下载地址 busybox地址 飞思卡尔社区地址 QT下载地址 linux书籍 高通发布的Android版本 高通createpoint mtk online mtk eservice 展讯cq...

2016-03-14 16:59:38

阅读数 715

评论数 0

记一次emmc走线干扰导致的启动异常

产线生产手机,出现部分手机开机定屏。刷以前的软件能正常启动到Android界面,初步怀疑是软件问题。拿到机器后,接usb,发现有usb端口,但由于是user版本,无法连接adb进行调试。直接刷成userdebug版本,机器正常启动。怀疑是客户的软件问题,让客户提供debug版本的软件,发现内核有报...

2019-08-18 21:29:27

阅读数 11

评论数 0

Linux下的gpio控制器驱动

这里写了一个简单的gpio控制器驱动,用来学习。 #include <linux/module.h> #include <linux/gpio.h> #include <linux/interrupt.h> ...

2019-08-18 18:23:43

阅读数 18

评论数 0

系统休眠后开启中断的方法

系统进入休眠后,会进入dpm_suspend_noirq函数。该函数遍历所有的中断,进行关闭。 int dpm_suspend_noirq(pm_message_t state) { device_wakeup_arm_wake_irqs(); suspend_device_irqs();...

2019-08-12 00:56:48

阅读数 33

评论数 0

TP手势唤醒调试

1.先确认tp的固件已使能手势唤醒。 2.确认代码中打开手势唤醒的宏 3.手势唤醒系统的原理,就是tp接收到特殊的手势信号,tp会产生一个中断,cpu接收到该中断信号后,通过i2c读取具体的手势,然后汇报按键值给系统。由于只有某些特殊的按键值才能唤醒系统https://blog.csdn.ne...

2019-07-14 21:38:49

阅读数 53

评论数 0

Android按键唤醒原理

系统默认的唤醒按键值 http://androidxref.com/9.0.0_r3/xref/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java public int in...

2019-07-14 18:47:22

阅读数 47

评论数 0

手机计步方案总结

手机或手表的计步原理是走路或跑步,加速度会按一定规律的变化,根据这个原理,来算出步数。所以一直读取手机重力传感器的数据,进行分析统计,便可算出步数。但由于手机休眠后,重力传感器会进入休眠,程序也进入冻结态,所以该方案不取。 现在主流的计步方案有如下几种 1.带硬件计步的重力传感器 如意法半导...

2019-07-14 17:13:42

阅读数 61

评论数 0

使用audacity生成单声道音频

测试双喇叭时,可以单独使用左声道或者右声道来测试上下喇叭,单声道音源制作方法如下 1.先安装工具audacity,ubuntu下使用命令安装apt-get install audacity 2.使用audacity打开双声道音频文件,如下图 点击左边歌曲名,选择分离立体声到单声道,变成下图 ...

2019-07-07 19:22:03

阅读数 99

评论数 0

TP休眠流程

在智能设备上,tp一般随lcd休眠,这样可以减少整机功耗,防止tp误触。也就是说,按下电源键熄屏后,lcd会走休眠流程,该过程lcd会发通知lcd已经进入休眠了,由于tp驱动中注册了lcd内核通知链,tp也随之进入休眠。按电源键唤醒后,lcd唤醒了,tp也随之唤醒。如 #if defined(...

2019-07-07 17:32:12

阅读数 53

评论数 0

selinux状态获取过程

以Android8.0为例 system/core/init/init.cpp static void selinux_initialize(bool in_kernel_domain) { bool kernel_enforcing = (security_gete...

2019-06-01 21:37:40

阅读数 70

评论数 0

module_init函数调用过程

include/linux/init.h #define define early_initcall(fn) __define_initcall(fn, early) /* * A "pure" initcall has no dependencies on anyth...

2019-06-01 18:17:03

阅读数 21

评论数 0

记一次tp唤醒函数异常导致的lcd唤醒慢

  机器休眠后,按电源键唤醒,2s多屏幕才亮,查看内核信息,没发现什么报错信息。先检查lcd的初始化代码,去掉多余的延时,唤醒时间依然很长。继续分析内核信息,从按下电源键到开背光,用时2s多,发现tp唤醒时间较长。直接修改tp的i2c地址(或者拔掉tp),让tp驱动不跑,唤醒时间就正常了。继续分析...

2019-06-01 16:59:31

阅读数 49

评论数 0

国标和美标耳机兼容IC

由于国标和美标耳机的定义不同,需要切换IC来实现兼容(有些高端pmic内部有集成该电路),否则手机无法识别mic。有下列的IC TI的TS3A226AE 韦尔半导体的WAS4732D ic内部框架图 切换原理 pmic的mic脚内部有ADC电路,可以测量mic的电压,国标耳机和美...

2019-05-26 21:49:14

阅读数 184

评论数 0

Android指示灯控制

电池指示灯 frameworks/base/core/res/res/values/config.xml <!-- Default value for led color when battery is low on charge --> <int...

2019-05-25 21:29:26

阅读数 208

评论数 0

mos管复习

简单的说,mos管通过g端的电平来控制d与s端的导通,就像开关一样(g为按键,d与s分别为两边连线)。 N、P型的区别,就是一个为正电压启动(NMOS),一个为负电压启动(PMOS)。 即:NMOS的g端为高电平时,d端与s端导通,为低电平时d端与s端断开;PMOS相反。 根据上面的知识,分析一...

2019-05-25 20:51:58

阅读数 39

评论数 0

调整Android音量等级及默认音量

Android系统定制时,需要调整音量等级,以便实现更精确的音量,可通过如下方式修改。以通话音量等级为例 diff --git a/frameworks/base/services/core/java/com/android/server/audio/AudioService.java b/f...

2019-05-25 20:51:08

阅读数 293

评论数 0

Android忽略编译某一文件夹

Andoird编译有时需要忽略某一个文件夹,如tests,可使用如下方法 build/core/main.mk subdir_makefiles := \ $(shell build/tools/findleaves.py --prune=$(OUT_DIR) --prune=.repo -...

2019-05-18 15:47:28

阅读数 131

评论数 0

解决 VirtualBox提示VERR_TOO_MUCH_DATA错误

VirtualBox异常关机后,再次启动可能会遇到下面的错误 Failed to load unit 'HGCM' (VERR_TOO_MUCH_DATA). 返回 代码: NS_ERROR_FAILURE (0x80004005) 组件: ConsoleWrap 界面: IConsole {8...

2019-04-20 21:13:55

阅读数 129

评论数 1

记一次lcd休眠异常导致的底电流大

主板外设调试ok,测主板休眠电流,26mA。这里首先拔掉lcd,休眠底电流正常。根据以往套路,有几种可能,外设没进入休眠,电源控制异常,引脚状态不对。一般也容易排除问题。 由于lcd和tp一体ic,需要同时看这两个驱动。 先看tp驱动,由于是移植高通平台的代码,发现没进入休眠,修改代码,随...

2019-04-14 01:11:16

阅读数 168

评论数 0

记一次emmc物料导致系统无法正常运行

新回来了一批主板,开机后却无法正常进入主界面(有开机 画面)。试了好几块都是一样的情况。由于之前该 主板已调试ok,试了同一版软件,旧的主板能正常启动,跟硬件同事沟通后,新旧主板的不同是emmc物料不同。由于出问题的物料都是芯片厂商验证过的物料,且几块物料都是同样的情况,只能接串口看log分析了。...

2019-04-14 00:12:14

阅读数 93

评论数 0

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