分析ueventd Coldboot耗时问题

安卓go平台启动时间发现如下ueventd耗时1.907s问题: 01-11 00:20:02.854 0 0 I init : Parsing file /odm/etc/init...01-11 00:20:02.854 0 0 E init : Unable to open '/odm/etc/in...

阅读全文

Git:如何修复gerrit merge conflict状态

A本地修改了某个文件File,B本地也修改了这个文件File,他们都先后git push到了gerrit上,这个时候reviewer无论先进谁的提交,gerrit上另一笔提交的状态都会显示merge conflict,那如何更新这一笔change,而不是Abandon然后再提一个change呢,假设A的提交了先进了,要修改B的change。 先同步服务器代...

阅读全文

内核msleep()耗时过多优化

高通低端平台启动时间发现有个地方耗时达2.5s,Linux内核版本3.18,具体是msm camera driver里使用了如下code: for(i=0;i<128;i++){ do_something(); msleep(delay); do_something();} 增加log,delay是1ms,从log看实...

阅读全文

内核如何获取音量键按下的状态

高通平台一般会把音量下键绑在PMIC RESIN上,这样除了长按电源键重启外,还可以按音量下键重启。 先从内核文档(Kernel3.18)了解下RESIN: Qualcomm QPNP power-on The qpnp-power-on is a driver which supports the power-on(PON)peripheral on Q...

阅读全文

SELinux:如何快速验证file_contexts

system/core/fs_mgr里加入一个resize工具,有权限问题log如下: [ 19.952455] audit: type=1400 audit(83369.909:5): avc: denied { execute_no_trans } for pid=283 comm="init&...

阅读全文

TF卡不能检卡问题排查

bring up阶段SD始终不能检卡,我觉得软件配置应该没问题,硬件是外包的,硬件答复这套设计其他厂商也在用没问题。SD一个卡槽,SIM一个卡槽,高通平台,Linux内核版本3.18。 先看下内核文档关于检卡的描述: Card detection:If no property below is supplied, host native card dete...

阅读全文

内核MMC传输流程Overview

最近看了下mmc读写,起由是Vendor发来eMMC固件升级要求,说如果使用了CMD18 + CMD12,就要升级,因为不知道OEM使用情况,建议都升级。 我们来确认下内核的情况, 内核版本3.18,高通平台。 #define MMC_READ_DAT_UNTIL_STOP 11 /* adtc [31:0] dadr R1 */#de...

阅读全文

关于高通平台串口调试行为的一点说明

最近遇到一个问题,项目初期阶段,刚开机串口输入输出都正常,高通平台Android O kernel 3.18跑起来大概30-40s串口没有打印输出了,只有输入, eng/userdebug/user都一样。 先看kernel log: [ 4.891514] msm_hsl_console_setup: console setup ...

阅读全文

ion简要介绍

Ion是google为了解决不同Android设备的内存碎片问题,在Android4.0中提出的下一代更通用的内存管理器,支持各种不同的内存分配,这些内存种类包括有:carveout, 物理连续的,虚拟连续的,iommu,secure memory,ion也可以在不同进程,user和kernel间共享buffer。 Ion把不同的内存空间用heap来分割管理...

阅读全文

如何把文件上传到ESP8266文件系统spiffs上

spiffs是一种文件系统,是为spi flash设备设计的,所以叫spi flash file system,当然了这种spi flash都是搭在ram很小的嵌入式平台,esp8266已经支持spiffs。 有时候需要把配置文件,图片等上传到文件系统上,来看下怎么操作。 安装步骤 下载工具包: https://github.com/esp8266/ardu...

阅读全文