android porting
sam0535
这个作者很懒,什么都没留下…
展开
-
Android Audio BSP工程师需要清楚的基本知识点
Android Audio BSP工程师需要清楚的基本知识点SinoTech7 个月前这只是个简要例举。 按照在操作系统中的层次划分,从上到下依次为:1、Android系统分层模型。知道 APP、JNI、Frameworks、HAL、Driver 的划分以及 用户空间、内核空间 的概念。2、Android Audio模块的启动、加载 及 放音/录音 流程。起转载 2017-12-28 16:41:33 · 2548 阅读 · 3 评论 -
Android O 启动优化的一些思路
启动优化其实是一个比较大的命题,在一些特地的场景下,快速启动有比较强烈的需求,这篇博客主要简单的介绍一些在android O平台上的进行启动优化的思路与想法。而优化启动的一个很重要的东西就是如何来准确度量启动时间,也就是说是否有比较好的办法来度量整个系统的启动耗时。毕竟只有能够毕竟准确的度量了相应的时间,才能更好的了解分析每个启动阶段的情况。所以我打算按照如下的方式来组织:Andr转载 2018-01-02 10:38:13 · 387 阅读 · 1 评论 -
Selinux SeAndroid理解
SELinux 即Security-Enhanced Linux,由美国国家安全局(NSA)发起,Secure Computing Corporation (SCC) 和 MITRE直接参与开发,以及很多研究机构(如犹他大学)一起参与的强制性安全审查机制,该系统最初是作为一款通用访问软件,发布于2000年12月(代码采用 GPL 许可发布)。并在Linux Kernel 2.6 版本后,有直接整合转载 2017-12-06 15:44:04 · 287 阅读 · 0 评论 -
Android Fingerprint完全解析(三) :Fingerprint Hal层分析
Fingerprint Hal层分析一前言前面一片文章,介绍了Android Fingerprint的启动流程,只要是Fingerprintd跟FingerprintService的启动流程,阅读本篇文章之前,最好看下上篇文章Android Fingerprint完全解析(二) :Fingerprint启动流程一.Android 含有硬件抽象层的框架图二转载 2017-11-27 09:41:19 · 6016 阅读 · 0 评论 -
Android Fingerprint完全解析(二) :Fingerprint启动流程
前言为了更好地阅读本文,你需要先阅读 Android Fingerprint完全解析(一) :Fingerprint整体框架 这篇文章,在此文中,博主分析了Android 6.0 版本TEE 环境下 Fingerprint 的总体框架。阅读本文前,您需要对Android Binder 有一些了解。步骤一.启动Fingerprintd在init.rc 文件中启动finge转载 2017-11-27 09:22:22 · 7889 阅读 · 2 评论 -
Android Fingerprint完全解析(一) :Fingerprint整体框架
1 TEE概述TEE: 可信执行环境(TEE,Trusted Execution Environment) 是Global Platform(GP)提出的概念,是和REE(Rich Execution Environment)相对应的,是ARM的一种模式。 我们一般也称TEE和REE为Secure World和Normal World。Android都跑在Normal World上,但是有转载 2017-11-27 09:18:35 · 2257 阅读 · 0 评论 -
Fingerprint指纹识别学习
Fingerprint模块架构图如下,这里分为application,framework,fingerprintd和FingerprintHal这几个部分,不涉及指纹的IC库和驱动这部分,这部分逻辑由指纹厂商来实现,目前了解的并不多。 二、Fingerprint framework初始化流程在系统开机的时候,会启动各种Service,包括FingerprintService。从转载 2017-11-27 09:09:27 · 2220 阅读 · 0 评论 -
Android RTC 自下往上浅析
1.首先搞清楚RTC在kernel内的作用: linux系统有两个时钟:一个是由主板电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟。当操作系统关机的时候,用这个来记录时间,但是对于运行的系统是不用这个时间的。另一个时间是 “System clock”也叫内核时钟或者软件时钟,是由软件根据时间中断来进行计数的,内核时钟在系统关机的情况下是不存在的,所以,当操转载 2017-09-11 11:44:50 · 886 阅读 · 0 评论 -
Android USB Camera(1) : 调试记录
1. 前言前段时间调试了一个uvc摄像头,这里做下记录。硬件平台为mt6735,软件平台为android 5.02. 底层配置UVC全称是usb video class,一种usb视频规范。所有遵循uvc协议的摄像头都不需要安装额外的驱动,只需要一个通用驱动即可。Linux内核已经集成了uvc驱动,代码路径是kernel-3.10/drivers/media/usb/uvc/2.1转载 2017-09-11 11:10:51 · 1265 阅读 · 2 评论 -
android重新学_网络3——采用HttpURLConnection提交数据到服务器
前两篇博客android重新学_网络1——采用HttpURLConnection获取网络图片 android重新学_网络2——采用HttpURLConnection获取获取网页源代码,我们分别学习了从网络上获取一张图片和文本以及对中文乱码的处理,那么这一篇博客,我们来学习如何提交数据到服务器。典型的案例就是登录。一.案例需求。安卓客户端输入用户名和密码,登录到服务器。二.转载 2017-07-06 11:57:44 · 271 阅读 · 0 评论 -
android N 编译环境搭建
1:下载ubuntu14.04 64bits2:ubuntu安装完成后执行 sudo apt-get update //更新源 sudo apt-get upgrade //更新系统3:安装java环境(open jdk 1.8) sudo add-apt-repository ppa:openjdk-r/ppa ...原创 2018-10-30 14:23:55 · 816 阅读 · 0 评论 -
高通batterydata电池曲线数据学习
产品采用的是4.2V,对应的文件为《batterydata-qrd-l42q-4v20-3200mah.dtsi》,在msm8909-qrd-skue-cb03.dtsi文件中被引用,开发板采用的是《batterydata-qrd-l45q-4v35-1800mah.dtsi》电池曲线文件说明文档见kernel\Documentation\devicetree\bindings\battery...转载 2018-08-25 15:52:58 · 3242 阅读 · 0 评论 -
Power-- 1.charge & Fuel gauge
1.电池曲线数据 高通平台: FG电量计来计算电池电量 电池数据是电量计不可或缺的一部分 一个型号的电池数据是一份dts文件2.电池数据分析 文件命名一般包含项目、厂商、电压、电容,如:xxx_xxx_xxmAh_xxx.dtsi 得到dtsi后可以根据情况做一些调整:电池电压,显示容量,电池ID电阻,热温度系数 Be...转载 2018-08-25 15:50:27 · 1389 阅读 · 0 评论 -
linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解、校准流程详解)
从adsp获取数据的方法分为同步、异步两种方式,但一般在实际使用中使用异步方式,因为同步获取数据会因外设总线速率低的问题阻塞smgr,降低效率,增加功耗。 Sensor上报数据的方式分为如下几种sync 同步数据上报,(每次上报一个数据)async 异步数据上报,每次请求之后不阻塞,定时查看状态,(收到一个数据即上报)self-schedulin...转载 2018-08-25 09:12:52 · 879 阅读 · 1 评论 -
linux驱动由浅入深系列:高通sensor架构实例分析之二(驱动代码结构)
上一篇文章中我们了解了高通sensor的整体架构及对AP侧的代码进行了分析,这篇文章我们详细分析一下aDSP侧的代码结构。 sensor数据流关键代码概览下图是sensor数据流程中的关键代码部分: 实现sensor驱动最重要的一个结构体结合上一篇的测试代码,可以清楚的看到高通sensor的数据处理流程。图中7位置指示了每个基于ADSP架构的传感器需要实现的接口如下:...转载 2018-08-25 09:02:21 · 990 阅读 · 0 评论 -
linux驱动由浅入深系列:高通sensor架构实例分析之一
linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析)linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构)Linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解、校准流程详解) 最初的时候芯片厂家对sensor的处理和对待其它外设一样都是直接挂在processor上,sensor的驱动也和其他...转载 2018-08-25 08:55:06 · 1382 阅读 · 0 评论 -
linux串口termios
linux串口termiosNAMEtermios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed - 获取和设置终端属性,行控制,获取和设置波特率 SYNOP转载 2012-05-05 08:44:56 · 638 阅读 · 0 评论 -
Linux下的iwpriv(iwlist、iwconfig)的简单应用 .
无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。那么Linux下的wifi到底该怎么配置、连接呢??开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。配置wifi模块,并连接相应的无线网络过程:主要使用iwpriv命令1. 扫描可用的无线网络:[cpp] view plai转载 2012-07-07 13:56:29 · 2205 阅读 · 0 评论 -
Android模拟器学framework和driver之battery & backlight-----6. backlight in hal
这里我们来介绍下backlight hal层,和之前一样,跟之前我们介绍的temperature的hal差不多,比sensor的hal还简单,这里我就不多说hal的介绍了,之前都有介绍的比较详细了,不清楚的可以参考前面的文章:http://blog.csdn.net/zhangjie201412/article/details/7225617首先要明确我们的目标,这里主要是封装一些方法转载 2012-04-13 17:21:41 · 676 阅读 · 0 评论 -
Android模拟器学framework和driver之battery & backlight-----5. backlight in linux
前面介绍了battery的相关的东西,现在我们来介绍下backlight模块,背光主要是用来调节显示屏亮度的,一般背光都是用PWM控制的,调节占空比达到改变有效电压值来调节光的强弱。背光的移植在linux中虽然不是那么难,但是背光这个组件对我们嵌入式设备的续航能力有很大的影响,一般背光上面加的电压会有20多的电压,所以这部分会很耗电的,相当于是开了个大灯泡。现在我们先来看下android转载 2012-04-13 17:20:33 · 644 阅读 · 0 评论 -
Android模拟器学framework和driver之battery & backlight-----3. battery in framework
上一篇中我们提到了jni,若大家对android中jni是怎么运作的,可以先参考我之前关于android jni的一个专栏:http://blog.csdn.net/column/details/jnijni.html这里有讲到jni和java是怎么互调的,好,这里我们来介绍下battery service在android中是如何工作的,我们先理清楚android framework层转载 2012-04-13 17:18:56 · 546 阅读 · 0 评论 -
Android模拟器学framework和driver之battery & backlight-----2. battery in jni
上篇介绍了模拟器的内核goldfish中的battery模块,也介绍了power_supply是如何工作的,一般我自己写驱动也差不多是这个流程,驱动抄着抄着自己就熟悉了,呵呵,记得之前我问过一个前辈,驱动要怎么学习,她说:抄代码先!!!废话不多扯,这里介绍android jni层是如何处理battery的信息的。上一篇中讲到在driver中做的事情对我们user有用的就只有2件事情,一是当转载 2012-04-13 17:17:54 · 550 阅读 · 0 评论 -
android学习----消息机制
android学习----消息机制 一、 角色描述 1. Looper : 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。 2. Handler : 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper(从Message Queue取出)所送来的消转载 2012-04-25 15:54:40 · 309 阅读 · 0 评论 -
Android在标准linux基础上对休眠唤醒的实现(二)
三、kernel层源码解析 - wakelock的重要地位wakelock在android的休眠唤醒机制中扮演着及其重要的角色,主要源码位于文件:kernel/kernel/power/wakelock.c,kernel/include/linux/wakelock.h中。 wakelocks_init()函数所做的工作是整个wakelock可以工作起来的基础,所有这里先说说这个函转载 2012-04-12 16:55:23 · 390 阅读 · 0 评论 -
Android 2.3状态栏中添加menu home back快捷键
1、准备资源,修改XML文准备几张图,这里我们准备添加home back和menu图标,就需要准备6张图,三张普通状态,三张按下的高亮状态图标:stat_home.pngstat_home_pressed.pngstat_back.pngstat_back_pressed.pngstat_menu.pngstat_menu_pressed.png把它们放在frame转载 2012-04-12 10:49:09 · 601 阅读 · 0 评论 -
Android在标准linux基础上对休眠唤醒的实现(一)
说明:1.Based on linux 2.6.32 and android 2.2,only support SDR(mem).2.参考文章:http://2695477.blog.51cto.com/blog/2685477/484751http://www.docin.com/p-115475680.htmlhttp://blogold.chinaunix.net转载 2012-04-12 16:53:42 · 350 阅读 · 0 评论 -
Android的休眠与唤醒 && 实例
Android 休眠(suspend),在一个打过android补丁的内核中,state_store()函数会走另外一条路,会进入到request_suspend_state()中,这个文件在earlysuspend.c中。这些功能都是android系统加的,后面会对earlysuspend和late resume 进行介绍。涉及到的文件:linux_source/kernel/power/m转载 2012-04-12 16:11:42 · 1547 阅读 · 1 评论 -
Android JNI 使用的数据结构JNINativeMethod详解
引文地址:http://hi.baidu.com/zhlg_hzh/blog/item/f0d782081f2f45d963d986f5.htmlAndroid JNI 使用的数据结构JNINativeMethod详解Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映转载 2012-04-11 11:03:18 · 346 阅读 · 0 评论 -
android reboot 功能的添加
最近做一款手机,需要添加一个手机重启功能,后来查看源码发现,代码中有reboot功能,只需要我们添加可视的界面就可以了,现在讲我添加的代码复制在上面,方便以后查阅。添加这个功能主要用到了两个类: frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.javaframeworks\bas转载 2012-04-10 15:50:47 · 647 阅读 · 0 评论 -
android 中对 gps 默认关闭+语言默认中文的设置+时区设置+修改系统名字+修改系统默认时间+修改屏幕休眠时间
在系统开发中经常需要改一下,系统默认的配置,这次把最近做的项目中有些修改的地方写下了,方便以后查阅。1.gps 默认是打开的,有些产品需要默认关闭,主要是为了省电。 修改: /frameworks/base/packages/SettingsProvider/res/values/defaults.xml 将:转载 2012-04-10 15:48:42 · 1059 阅读 · 0 评论 -
Android模拟器学framework和driver之battery & backlight-----7. backlight in jni
最近一直在弄离职的东西,有点烦,这里我们介绍下android framework中对backlight的处理,这里我们先介绍下framework中的native层。首先我们要知道android中lightService对光的控制有很多,比如说提示灯,键盘背光,lcd背光,还有闪光灯等等各种光源设备,这边我们只关注lcd backlight,代码位置:framework/base/servi转载 2012-04-13 17:22:31 · 595 阅读 · 0 评论 -
Android模拟器学framework和driver之battery & backlight-----1.battery in linux
在linux中battery驱动主要是去处理供电方面的东西,大家看下driver在bsp中的路径就可以知道,android模拟器使用的goldfish内核中battery驱动的位置是:android/common/drivers/power/goldfish_battery.c目前手机,平板电脑日益普及,在嵌入式领域battery的续航能力也一直制约着手机等嵌入式设备的发展,iphone比转载 2012-04-13 17:16:35 · 724 阅读 · 0 评论 -
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面 .
Android异步处理系列文章索引Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理概述:每个And转载 2012-07-27 08:44:09 · 599 阅读 · 0 评论 -
android4.2 camera icon
Android4.2 默认没有camera icon,解决办法: 由一下log 推出: I/DisableCameraReceiver( 2989): noback cameraI/DisableCameraReceiver( 2989):disable all camera activities Packages/apps/Camera/src/com/andro原创 2013-05-13 21:32:38 · 1664 阅读 · 0 评论 -
ublox-gps-hal
1:ubx_moduleif.cpphw_module_tHAL_MODULE_INFO_SYM====>s_hwModuleMethods====>hwModuleOPen====>CGpsIf::getIf(CGpsIf::s_interface)==================================================================原创 2013-05-13 21:30:49 · 1959 阅读 · 1 评论 -
android4.2 recovery&reset_factory
settings中,恢复出场设置 1:frameworks/base/core/java/android/os/RecoverySystem.java public static voidrebootWipeUserData(Context context) throws IOException { final ConditionVariable condit原创 2013-05-13 21:29:08 · 1412 阅读 · 0 评论 -
android的sdk源码下载地址及关连方法 .
3.X的源码地址没有,谁有的话,请回复,我加上 以下是各版本的Android java source下载地址:Android2.3:http://lizongbo.googlecode.com/files/android_gingerbread_javasrc.zipAndroid1.5:http://lizongbo.googlecode.com/files/android_cu转载 2012-09-18 21:41:58 · 431 阅读 · 0 评论 -
在Eclipse Android中设置模拟器屏幕大小
在Eclipse Android中设置模拟器屏幕大小是本文要介绍的内容,主要是来了解并学习Eclipse Android中模拟器的设置,具体关于Eclipse Android内容的详解来看本文。方法一、选择"AndroidSDKandAVDManager",选中相应的AVD,点击右侧的"StartstheselectedAVD"按钮如图,在"ScreenSize(in)"中填入你需要的转载 2012-07-23 08:30:54 · 1079 阅读 · 0 评论 -
android4.0新功能之---- 打开最近的应用程序出现缩略图的分析
本人对Java可谓是一窍不通,工作主要是用C,C++,但最近工作需要,分析了一下ICS关于打开最近应用的程序如何获得程序的缩略图,要说详细步骤可能没有看仔细,现将分析过程稍作总结如下,供大家参考:通过logcat分析找打了一个突破口:1:frameworks/base/packages/SystemUI/src/com/android/systemui/recent/RecentsPane原创 2012-07-16 20:57:39 · 5324 阅读 · 2 评论 -
How to use bluetooth tools --- hciattach hciconfig hcitool sdptool rfcomm .
create connection to bt device1. HCI UART driver initialization, Attach the tty devicehciattach /dev/ttyS1 any 38400 flow2. Open and initialize HCI devicehciconfig hci0 up转载 2012-07-09 15:05:34 · 1134 阅读 · 0 评论