本文转载自:http://blog.csdn.net/kris_fei/article/details/70052413 Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 这个问题蛮奇怪的,现象是:1. 默认系统按键音是打开的,然后去录音,是正常的.2. 当把按键音关闭之后再去录音,虽然录音有在工作,但是不能录制到声音. 理论上说播放和录音是两条不相干的通路,可以同时工作,也可以独立工作,可事实上播放的配置影响到了录音. 有通过系统自带的tinyp…
本文转载自:http://blog.csdn.net/kris_fei/article/details/78341425 Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 9.7寸eDP对应的Touch IC型号是GT928,分辨率为2048*1536, 硬件连接和之前GSL5680( 见 [RK3288][Android6.0] 移植笔记 — Touch IC GSL5680添加 一文) 一样. I2C: GPIO:  电源是用的是LDO2,开机…
本文转载自:http://blog.csdn.net/kris_fei/article/details/78748313 Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 硬件接上USB扫描枪后,被认为是一个USB物理键盘,这时候,系统会默认关闭软键盘. 通过如下方法可以让软硬键盘都打开. kris@eco:~/rk3288/frameworks/base$ g df core/java/android/inputmethodservice/Inp…
本文转载自:http://blog.csdn.net/kris_fei/article/details/54574073   标签: rk3288 串口添加 2017-01-16 14:52 1079人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 uart0,1,3,4 (普通串口) 用的是同一个串口驱动.uart2(调试串口)的驱动代码嵌在fiq debugg…
本文转载自:http://blog.csdn.net/kris_fei/article/details/55100299 Platform: RK3288OS: Android 6.0Kernel: 3.10.92 由于项目的apk安装需要shareid为system的权限(不需要高权限的apk是可以正常安装的),一开始我用的是releasekey,导致签名文件不匹配无法安装,因此就替换系统默认platform签名文件. 生成新的签名文件方法参考rk3288/build/target/produ…
本文转载自:http://blog.csdn.net/kris_fei/article/details/77318410 Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 有时候需要知道mmcblk对应的分区是哪一个,其实驱动已经完成这个功能了,如下: root@rk3288:/dev/block/platform/ff0f0000.rksdmmc/by-name # ls -l lrwxrwxrwx root root 2017-01-01…
本文转载自:http://blog.csdn.net/kris_fei/article/details/71600690 Platform: RockchipOS: Android 6.0Kernel: 3.10.92 diff --git a/arch/arm/boot/dts/rk3288-b.dts b/arch/arm/boot/dts/rk3288-b.dtsindex ad3bc1a..f000e29 100644--- a/arch/arm/boot/dts/rk3288-b.dt…
本文转载自:http://m.blog.csdn.net/kris_fei/article/details/69553422 Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 由于板子没有lcd无法得知sd卡升级是否完成,因此使用LED显示.Recovery中升级完成后控制GPIO输出高电平点亮LED. 系统自带GPIO控制驱动:内核已经自带了通用GPIO驱动,可以直接在用户空间操作.路径: /sys/class/gpioroot@rk3288:/…
本文转载自:http://blog.csdn.net/kris_fei/article/details/71515020 Platform: RockchipOS: Android 6.0Kernel: 3.10.92 rk在驱动层做了一个通用i2c测试代码提供给上层快速测试i2c外设是否传输正常. 测试使用方法:#echo [0-5] > /dev/i2c_detect    //0-5表示i2c number号,不过i2c5需要修改下驱动,默认只支持到i2c4.例如我的i2c2接的是audi…
本文转载自:http://blog.csdn.net/kris_fei/article/details/78399875 Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 方法一: root@rk3288:/proc/asound/card0 # cat /proc/asound/cards 0 [RKRT5631 ]: RK_RT5631 - RK_RT5631 RK_RT5631 方法二: root@rk3288:/data # ls -l /…
本文转载自:http://blog.csdn.net/kris_fei/article/details/72783843?locationNum=9&fps=1 Platform: RockchipOS: Android 6.0Kernel: 3.10.92 现象:录音使用1K正弦波作为数据源做测试,然后比较HAL和APP层dump出来的pcm数据,发现到APP层之后相对HAL层的音量会小很多. 原因:后来发现是因为在HAL层有个叫SPEEX的降噪算法,它会固定的信号有衰减,因此音量变小了.RK…
本文转载自:https://blog.csdn.net/kris_fei/article/details/70157137 Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 默认user版本不显示开发者选项这一栏,需要通过连续点击版本号7次来显示.packages\apps\Settings\src\com\android\settings\DeviceInfoSettings.java static final int TAPS_TO_BE_A_…
本文转载自:http://m.blog.csdn.net/kris_fei/article/details/70226451 Platform: RockchipOS: Android 6.0Kernel: 3.10.92 需求:硬件版本不一样,通过几个gpio的高低电平来表示不同版本,u-boot/kernel/hal/framework/app层都需要用到,那么可以使用系统自身的参数传递机制以及property API来实现. 以一个gpio为例.改动:u-bootdiff --git a/…
本文转载自:http://blog.csdn.net/kris_fei/article/details/76919134 Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 rk的pmu模块只提供了每次单个寄存器的读写,驱动提供了这个节点供使用:/sys/rk818/rk818_test 举例: 读取: echo r 0x23 > /sys/rk818/rk818_test: 读取地址 0x23 的值,r 表示读: 写入: echo w 0x23…
本文转载自:http://blog.csdn.net/kris_fei/article/details/53464461 latform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 描述: 当系统全部download开机后,会默认进入Recovery模式,这个其实是misc分区里的内容在作怪. misc分区: misc.img是RK原始就提供而不是自己编译生成的,其实misc里内容就两行,用UE可查看: Uboot log:#Boot ver: 2016-11…
本文转载自:http://blog.csdn.net/kris_fei/article/details/77894406 Rockchip的按键驱动位于 kernel/drivers/input/keyboard/rk_keys.c 默认支持的keys在dts中定义: 其中power key作为普通gpio,具有唤醒功能.而其他按键比如,volume up/down 可以通过adc精确读取到gpio的电压值,原理图如下:   和一般的按键一样,驱动是通过内核input子系统来将keys注册供用户…
本文转载自:http://blog.csdn.net/kris_fei/article/details/70053135 Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 以rt5631为例,后续遇到再增加. 使用tinyalsa工具确定播放音问题是否在驱动层1|root@rk3288:/data # tinycap  test.wav                                        Capturing sample:…
本文转载自:https://blog.csdn.net/kris_fei/article/details/55045936 Platform: RK3288OS: Android 6.0Kernel: 3.10.92 RK3288使用TSADC(Temperature-Sensor ADC)来测量CPU温度,支持两种模式:用户自定义模式: 主动控制读取温度.自动模式: 自动检测温度,达到阀值就自动报告. rk3288.dtsi中的device配置:tsadc: tsadc@ff280000 { …
本文转载自:https://blog.csdn.net/kris_fei/article/details/78620960 Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 先提USB HOST/DEVICE/OTG概念: OTG控制器可以做host,也能做device,控制器的角色一般由USB ID电平来决定.完整的USB2.0 OTG 控制器硬件信号如下: USB_ID:输入信号,由 USB OTG 协议定义,用于识别 USB 口所接设备的默认…
本文转载自:http://m.blog.csdn.net/dearsq/article/details/70175637 Platform: RK3399 OS: Android 6.0 Kernel: 4.4 Version: v2017.04 需求 Key-Pad 原理 实现 getevent 获得键值 修改按键功能 验证 其他方法 需求 需求是将 Menu 键修改为 Home 键. Key-Pad 原理 按键部分原理图如下 可以看到不同按键串联的电阻值也不同.所以按下不同按键时 ADKEY…
本文转载自:http://blog.csdn.net/kris_fei/article/details/52584903 Platform: RK3288OS: Android 6.0Kernel: 3.10.92 以MIPI DSI接口的lcd为例. rk_screen.c:读取lcd timing参数.lcd_mipi.c:屏幕mipi配置信息.rk_fb.c:fb驱动.rk3288_lcdc.clcdc controller驱动.rk32_mipi_dsi.c:dsi controller…
本文转载自:http://blog.csdn.net/kris_fei/article/details/52536093 Platform: RK3288OS: Android 6.0Version: v2014.10 bl    board_init_f -> crt0.S    initcall_run_list(init_sequence_f) -> board_f.c        arch_cpu_init ->            rk_get_chiptype    //…
本文转载自:http://blog.csdn.net/kris_fei/article/details/76256224 Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 遇到不少网友找不到uboot logo在哪里,其实一开始我也潜意识地去u-boot目录下去找,但是后来发现是在kernel目录下  加载顺序: 1.uboot开机的时候会先去logo分区加载 2.加载失败则尝试从resource分区加载 3.加载失败则尝试从boot分区加载…
平台信息:内核:linux3.1.0系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 说明:提供以太网mac地址烧录以及读写的方式 一.功能演示以及说明: 1.1在安卓的文件系统生成如下的设备节点:/sys/kernel/pax_ethernet/mac用于烧录以及读取以太网的mac地址.使用adb命令进行以太网mac地址的烧写以及读写.本质上在使用echo "aa:aa:aa:aa:aa:aa"…
平台信息:内核:linux3.0.68 系统:android/android6.0平台:rk3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 摘要:最近在负责rk3288的pcba模块,由于在编译过程中遇到了一些问题,因此总结记录遇到的问题以及解决方法. 代码路径:rk3288-e810-android6.0/external/rk-pcba-test/ 1.问题. 在正确的选择好要编译的产品之后进入external/rk-pcba-test/目录,执行m…
本文转载至: https://blog.csdn.net/qq_26440221/article/details/53097868 自从出了Android6.0权限管理之后,再也不能像以前那样粘贴复制了,必须认识权限了,所以总结一下方便以后自己使用. 一.所有权限 访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE…
本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中WiFi选项,将其置为on(打开),但最终结果是自动变成off(关闭).正在打开Wi-Fi.正在扫描等一系列不能正常打开WiFi的提示. 2.问题分析流程 WiFi打不开从硬件和软件两方面进行定位,一般是先硬件,然后软件.总体分析流程如图: 3.确认硬件可以识别 8192CU WiFi模块是基于usb接…
因为工作需要,简单研究了一下Android6.0权限申请,在Google提供的sample的基础上,写了一个简单的demo.算是自己的笔记吧,可能会比较混乱,主要是方便以后查看.后期有别的问题,随时更新~ 本demo github下载地址!!! Google提供的demo的下载地址 6.0权限的基本知识,以下是需要单独申请的权限,共分为9组,每组只要有一个权限申请成功了,就默认整组权限都可以使用了. group:android.permission-group.CONTACTS permissi…
android6.0以上某些权限需要动态申请,虽然现在大多的手机系统版本在6.0,但是升级到6.0及以上是迟早的事,所以如何能够更好的控制动态申请权限时能有好的提示用户,及给用户带去更好的体验,是需要花点时间认真思考的,下面就将我的实现思路.代码.视频贴出,希望能帮助到看笔记的各位. 思路: 将需要动态申请的权限放入一个集合,在app启动时,判断 Build.VERSION.SDK_INT版本,当Build.VERSION.SDK_INT>22时,,遍历请求权限集合里的每一个权限,判断是否有未针…
随着Android系统的更新换代,每次重大更新的方面也逐步扩展,从4.*主要是增强功能,到5.*主要是美化界面,到6.*主要提高系统安全性,再到7.*和8.*主要支撑各种大屏设备,因此开发者需要对每个大版本的Android重新进行适配.其中6.*主要影响开发工作的升级包括权限管理和休眠模式.对于权限管理,原本开发者只要在AndroidManifest.xml中声明相关权限,App安装完成之后即可默认获得这些权限.但是6.0引入了新的运行时权限管理机制,即使开发者实现已经声明App的权限,Andr…