系统开发
文章平均质量分 68
jinron10
这个作者很懒,什么都没留下…
展开
-
android9.0 MTK平台添加分区表
8257添加分区,主要修改以下文件:Changes to be committed: modified: build/make/core/Makefile modified: build/make/core/config.mk modified: build/make/core/envsetup.mk modified: build/make/core/main.mk modified: build/mak原创 2020-10-23 13:11:46 · 3693 阅读 · 8 评论 -
Cache 和 Buffer 都是缓存,主要区别是什么?
cache 是为了弥补高速设备和低速设备的鸿沟而引入的中间层,最终起到**加快访问速度**的作用。而 buffer 的主要目的进行流量整形,把突发的大数量较小规模的 I/O 整理成平稳的小数量较大规模的 I/O,以**减少响应次数**(比如从网上下电影,你不能下一点点数据就写一下硬盘,而是积攒一定量的数据以后一整块一起写,不然硬盘都要被你玩坏了)。=======================...转载 2019-12-16 10:57:10 · 136 阅读 · 0 评论 -
android查看内存使用情况
1.cat /proc/meminfo MemTotal: 所有可用RAM大小 (即物理内存减去一些预留位和内核的二进制代码大小) MemFree: LowFree与HighFree的总和 Buffers: 用来给块设备做的缓冲大小(只记录文件系统的metadata以及 tracking in-flight pages,就是说 buffers是用来存储,目录里面有...原创 2019-11-15 11:58:09 · 3540 阅读 · 0 评论 -
全志平台固件解包打包
转:https://blog.csdn.net/kangear/article/details/51203085官方工具有DragonFace,这是一个Windows平台的软件,使用起来非常的方便。但是也有一些缺点,比如内置APP时,如果该APP包含了jni库,比如常见的libserial_jni.so以及libusb1.0.so,那么在内置时,第一次会成功;第二次就会报失败。因为在内置时软件...转载 2019-11-12 10:29:45 · 7889 阅读 · 1 评论 -
Android8.x和Android9.x平台user版本打开UART输出并支持控制台输入和user版本adb root的方法
1、user版本打开uart口日志输出1.1 修改lkmediatek\proprietary\bootable\bootloader\lk\app\mt_boot\mt_boot.c****************************************************************************/我们系统使用的是设备树,所以调用的是boot_l...原创 2019-03-19 14:32:27 · 1079 阅读 · 0 评论 -
如何debug preloader bootup time 问题以及开机过程中preloader慢抓取 preload模块开机log
[DESCRIPTION]有时候bootup过程中,会出现preloader启动时间过程的问题。此FAQ帮助你如何去debug这个阶段的perfoamnce问题。建议测试时一定要用user load来测试,以免debug因素造成的影响。[SOLUTION](1)preloader阶段在bootable/bootloader/preloader/platform/mt6735/makef...原创 2019-01-25 16:08:26 · 864 阅读 · 0 评论 -
win10环境下Android SDK下载安装及配置教程----JDK的安装
最近在配置Android环境时,发现网上资料大多是win7上的,所以将自己配置的环境的流程记录下来配置环境的大致流程1)安装JDK;2)下载并安装Android SDK;3)配置Android开发的环境变量;4)安装Eclipse;5)为Eclipse安装ADT插件;1、安装JDK1.1下载JDK安装包下载地址为http://www.oracle.com/technetwo...原创 2019-01-16 14:11:03 · 4681 阅读 · 0 评论 -
如何用getevent查看TouchPanel上报数据和如何抓取framework层input事件相关的日志
我们在Android系统开发的时候经常遇到界面点击没作用,或点击有飘逸的情况,这个时候我们需要通过查看TP是否有上报数据以及Framework层input事件日志进一步的分析,是否是TP在上报数据异常导致还是上层APP本身引起的问题,具体如下:1、 如何用getevent查看TouchPanel上报数据? [SOLUTION] 步骤如下: 1)先使用adb shell连接手机。 2)...原创 2019-01-21 15:45:27 · 1062 阅读 · 0 评论 -
SELinux policy相关问题的总结
在开发Android系统的时候或多或少遇到一些Selinux的相关的问题,在这里进行一些总结和整理,内容大部分来源网络.1、了解SELinux基本概念,这个网上资料很多,具体参考:http://jingpin.jikexueyuan.com/article/55398.htmlhttp://blog.csdn.net/innost/article/details/19299937/ h...原创 2019-01-21 15:38:16 · 2595 阅读 · 0 评论 -
Amdroid系统按键的重新映射
在我们系统开发的过程中经常遇到需要按键的一些功能,往往需要在启动中即可修改,在按键上报并将键值映射到上层。那么是否有其它方法进行修改呢,在这里提供一致修改按键上报的本地层也可以实现方法,具体如下:如将两个按键的键值上报对调,如下:frameworks\native\services\inputflinger\InputDispatcher.cpp 修改点: void InputDisp...原创 2019-01-21 10:08:48 · 411 阅读 · 0 评论 -
高通平台Performance机制学习总结
转自:https://429564140.iteye.com/blog/2410445Performance是很好的一个机制,可以提供系统程序运行的性能,不过在工控领域注意这样大面积使用之后,系统高温测试是否能够通过的问题。其实原理是通过启动CPU多于的核并且调度CPU频率调整来实现资源快速加载的目的。具体如下:高通平台Performance机制学习总结 利用在高通平台中的Perfo...转载 2019-01-21 09:57:37 · 4770 阅读 · 1 评论 -
sleep API时间比预期时间长
[DESCRIPTION]user space的很多API都有可能会使用到lsleep相关funciton. 这些API只能保证sleep时间长于用户的期望. 如果长很多的情况, 会对user产生比较大的影响. 此FAQ可以帮助你去debug其原因[SOLUTION]很多sleep相关fuction最总是通过kernel的hrtimer来实现的。 而hrtimer实现中受一个关键变量的影...原创 2019-01-25 16:12:28 · 1093 阅读 · 0 评论 -
DuraSpeed (MTK快霸)使用方法详解
1、概念DuraSpeed 是MTK 在 Android M/N 上开发的进程管理软件,目的是“缓解手机长时间使用后的性能下降问题”。DuraSpeed 在APP 启动时开始执行,在后台限制“被保护之外”的进程,从而为前台进程提供更多的系统资源。 DuraSpeed 有一套进程保护规则, 并提供 APP List 允许使用者编辑应用保护列表.在Settin...原创 2019-01-25 15:53:48 · 10112 阅读 · 0 评论 -
Android系统异常Native堆栈分析工具addr2line
我们在开发Android产品或设备时或多或少遇到系统的Native本地异常,导致系统不能正常启动,如下信息:错误的堆栈信息:Build fingerprint: 'Coolpad/Y803-8/Y803-8:5.1/LMY47D/5.1.033.P2.160602.Y803_8-LC:user/release-keys' Revision: '0' ABI: 'arm64' pid...原创 2019-01-18 17:26:46 · 1736 阅读 · 0 评论 -
ATC系统平台因为硬件电路的设计的原因没有针对充电检测管脚可控导致系统关机时要反复重启的问题
问题分析:1.目前在关机流程是quickBoot 模式 最后调用逻辑是: machine_power_off->mt_power_off 最终会在mt_power_off函数的的while 循环中 通过 pmic_chrdet_status函数检测pimc的电压 来重重启机器2 目前在关机的时候PIMC的 charldo以及vcdt pin脚是一只供电的所以关机后立马检测到有上电所...原创 2019-07-01 12:02:00 · 305 阅读 · 0 评论 -
Android内存压力测试工具(memtester移植)
该文章转载于:https://blog.csdn.net/csh86277516/article/details/52584390https://blog.csdn.net/sweetmilkcake/article/details/83241592DRR参考配置OK之后,首先需要的是对DDR进行压力测试保证DDR的稳定性,否则DDR出问题之后,很容易引起奇奇怪怪的问题,很难分析问题原...转载 2018-12-28 17:01:12 · 8558 阅读 · 1 评论 -
Android6.0系统的framework层中加入自己的共享库服务,在系统预编译之后,系统启动提示找不到类的问题
共享库服务我们取名为myserver系统预编译(预优化):目的是加快系统的启动时间,如下设置:device\atc\evb3561sv_w_no2\BoardConfig.mk### add by zhaojr for odex# Enable dex-preoptimization to speed up first boot sequenceifeq ($(HOST_OS),l...原创 2018-10-10 14:20:14 · 2818 阅读 · 0 评论 -
win10环境下Android SDK下载安装及配置教程----Android SDK安装
接着上一篇文章,这个章节主要是安装Android SDK和配置Android SDK环境1、下载并安装Android SDK下载Android SDK Tools,可以选择去我的百度网盘上下载(链接:https://pan.baidu.com/s/1jTMJUfJcSkZgyJ1Q8mAM6w 密码:5lhr),或者去这个网站下载(http://www.androiddevtools.cn...原创 2019-01-16 14:44:52 · 17269 阅读 · 6 评论 -
win10环境下Android SDK下载安装及配置教程----Eclipse和ADT插件安装
接着上一篇,继续Eclipse安装ADT插件1、Eclipse安装ADT插件1)下载ADT插件提前下载好ADT插件,可以去网站下载(网址为http://www.androiddevtools.cn/)ADT BundleADT Bundle包含Eclipse、ADT插件和SDK Tools,已经是集成好了的IDE,只需要安好了JDK即可开发,推荐下载ADT Bundle,不...原创 2019-01-16 14:58:50 · 1123 阅读 · 1 评论 -
MT8227L AndroidO repo代码所有子库指向不同的两个远程地址
1、将.repo/manifests/default.xml文件拷贝到部署代码时从ATC下载下来的代码目录中,如下zhaojiawei@zjr-7040:~/ATC_AndoridOGO_8827L-to-flaydio$ cp .repo/manifests/default.xml2、创建python脚本将当前的代码的所有git子库中的远程如下设置autochips ssh://b...原创 2019-07-01 12:05:54 · 485 阅读 · 0 评论 -
wifi调试时命令调试记录
1、加载驱动insmod /system/lib/modules/wlan.ko注意: 如果 /data/misc/wifi 或者 /data/misc/wifi/sockets 下有 wlan0 先删除2、加载wpa_supplicant(STA模式)wpa_supplicant -iwlan0 -Dnl80211 -c/etc/wifi/wpa_supplicant.conf ...原创 2019-06-18 19:26:19 · 1540 阅读 · 0 评论 -
android 开机优化(类和资源预加载优化)
转自:https://blog.csdn.net/xxm282828/article/details/49095839Android启动过程中针对类和资源部分预加载耗时比较久,这个部分需要优化,主要涉及的文件:./base/core/java/com/android/internal/os/ZygoteInit.java主要采取三个措施:1. 修改ZygoteInit.java ...转载 2019-04-15 17:17:54 · 3929 阅读 · 2 评论 -
MTK平台将导航地图放到内部存储区中后,恢复出厂设置不删除内部存储区的方法
在MTK软件平台中,如果将:device\mediateksample\k61v1_demo_64_bsp\ProjectConfig.mk中的MTK_SHARED_SDCARD = yes,那么系统启动之后内部存储的FAT分区和data分区将自动合并成一个分区,对用户看到的是比原来data分区大小还大的存储空间,这个时候我们将在内核SDCARD(内核存储区)中拷贝进入地图,如果进行恢复出厂设置,...原创 2019-07-01 12:07:28 · 271 阅读 · 0 评论 -
MTK平台特殊功能管脚不用虚空导致系统启动卡顿的问题
目前项目在开发过程中原来音频链接到tda7729的I2C0没有使用,硬件将其管脚悬空。之前是有使用第一版硬件有链接,I2C0管脚在硬件上有上拉,到第二版之后因为音频直接到I2S到功放,并没有走PMIC到tda7729到喇叭。直接导致的结果就是在开机拉下倒车线进入倒车状态,出现先显示倒车信号,释放倒车线之后,大概要等很长时间,系统快进入主界面的时候才显示一下静态logo,再显示动态logo,分析两个...原创 2019-07-01 12:07:15 · 433 阅读 · 0 评论 -
android8.x的HIDL众多服务启动时的优化
在Andorid8.x系统之前,Android系统的服务不是在SystemServer.java中启动,就在init进程初始化xxx.xxx.rc中启动。而Android8.x开始,会发现像/vendor/etc/init/android.hardware.*@2.0-service.rc这种类型的服务和初始化不知道在什么地方加载起来,本文主要这个这种情况进行分析和优化。本文转自:http...转载 2019-03-13 15:43:02 · 1732 阅读 · 0 评论 -
android SystemServer
本文主要针对系统启动时调用的SystemServer.java中涉及的服务进行说明android/frameworks/base/services/java/com/android/server/SystemServer.javaSystemServer在init进程中的启动,请参考:Zygote进程【3】——SystemServer的诞生以下主要是SystemServer启动时涉...原创 2019-03-13 15:26:03 · 194 阅读 · 0 评论 -
MTK平台在ARM1(内核)和ARM2中读写Metazone.bin分区的方法
具体方法如下:1、在内核中访问Metazone.bin分区1)、在metazone.h中添加打开和关闭接口定义kernel-3.18\include\misc\atc\metazone\metazone.hkernel-3.18\include\misc\atc\metazone\metazone.h///添加以下代码/*** @brief Initialize Meta...原创 2019-03-08 12:04:07 · 2326 阅读 · 2 评论 -
MTK DDR进行ETT之后的压力测试--进行压力测试
在进行这个步骤之前,请先按照https://blog.csdn.net/jinron10/article/details/86507851搭建主机端环境,以及https://blog.csdn.net/jinron10/article/details/86508369调整并编译出对应HV(高温60度)、NV(常温25度)、LV(低温-30度)对应的preloader.bin和boot.img文件,...原创 2019-01-16 17:25:49 · 4617 阅读 · 4 评论 -
MTK DDR进行ETT之后的压力测试--代码调整
在主机的测试环境的搭建好之后,需要调整Android系统源码,否则将达不到测试的目录,完成之后需要关闭部分对应的调整。1、preloader部分的调整1)修改vendor\mediatek\proprietary\bootable\bootloader\preloader\custom\evb3561sv_w_no2\evb3561sv_w_no2.mk添加DDR压力测试的编译开关到当...原创 2019-01-16 16:26:22 · 2723 阅读 · 0 评论 -
MTK DDR进行ETT之后的压力---测试环境的搭建
MTK芯片平台在开发项目准备批量之前,都要进行ETT测试,那么在硬件进行ETT测试之后需要对ETT参数进行压力测试,保证批量的稳定性。1.host主机(windows)软件环境的搭建需要安装java环境、sdk主要是adb、python2.7.3等1)安装JAVADownload and install JAVA:查考该:http://www.java.com如果之前安装过JDK(...原创 2019-01-16 15:11:24 · 1572 阅读 · 0 评论 -
Android系统手动修改系统显示的DPI
有时候开发系统在初期阶段由于UI设计上存在问题,导致DPI需要调整满足UI界面的美观,需要通过adb手动需要DPI,调试OK之后将DPI值固定在代码中,如下:手动修改DPI:进入adb root adb remountadb shellwm size 查看分辨率$ wm sizePhysical size: 2560x1600 默认的分辨率$ wm size 1920x1280...原创 2018-09-29 16:54:47 · 7942 阅读 · 0 评论