- 博客(65)
- 收藏
- 关注
原创 8168高分屏画面卡顿
(200730_19:48:00.994)[1146] [DISP]read from lcm 0x0A: 0(200730_19:48:00.994)[1146] [DISP]lcm is not connected
2022-06-18 17:40:07
832
原创 netlink应用编程例子
C Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ..
2022-05-31 08:18:50
325
原创 netlink接口
1、netlink及相关接口说明 说到驱动和应用层进行数据通信,很多人就会想到使用传统的ioctl,诚然,很多时候应用层调用驱动进行参数配置和参数获取使用的也正是ioctl的方式,但这种方式有一种局限性,那就是只适合于数据量较小且操作不频繁的情况。否则,频繁操作io将大大影响设备的性能,甚至造成设备宕机。 最近在做一个关于wifi诊断需求时,需要记录wifi连接过程中的控制帧和管理帧,以及STA断开及断开原因。由于wifi驱动不断在进行数据帧和控制帧的交互,如果直接在驱动...
2022-05-31 08:18:41
763
原创 Netlink通信机制
linux用户空间与内核空间通信——Netlink通信机制一般来说用户空间和内核空间的通信方式有三种:/proc、ioctl、Netlink。而前两种都是单向的,但是Netlink可以实现双工通信。1、Netlink socket的作用: Netlink socket 是一种Linux特有的socket,用于实现用户进程与内核进程之间通信的一种特殊的进程间通信方式(IPC) ,也是网络应用程序与内核通信的最常用的接口。 Netlink 是一种在内核和用户应用间进行双向数据传输的非常好的方
2022-05-31 08:18:36
951
原创 system设置ro_boot_属性
将kernel cmdline的属性,设置为"ro.boot."/"ro.kernel."我们在cmdline自定义的属性也可以通过这种方式传递给上层,我们看一下源码是如何实现的:Android8.1/9.0:staticcharqemu[32];intmain(intargc,char**argv) ->process_kernel_cmdline(); ->import_kernel_cmdline(false,import_kernel_...
2022-05-30 03:17:08
928
原创 00.lk->kernel(mtk)
mtk平台没有跑app/aboot/aboot.c 跑的是app/mt_boot/mt_boot.c/ { model = "MT8167"; compatible = "mediatek,mt8167"; interrupt-parent = <&sysirq>; #address-cells = <2>; #size-cells = <2>; ...
2022-05-30 03:16:45
627
原创 07.rowan@1.0.so
find -iname "android.hardware.rowan@1.0-impl.so"./vendor/lib/hw/android.hardware.rowan@1.0-impl.so./obj/SHARED_LIBRARIES/android.hardware.rowan@1.0-impl_intermediates/LINKED/android.hardware.rowan@1.0-impl.so./obj/SHARED_LIBRARIES/android.hardware.
2022-05-30 03:16:01
187
原创 06.hidl参考文档
SEAndroid相关总结https://www.2cto.com/kf/201611/562711.htmlAndroid SELinux avc dennied权限问题解决方法https://blog.youkuaiyun.com/tung214/article/details/72734086解决avc-denied之设置SELinux策略https://blog.youkuaiyun.com/eliot_shao/article/details/51859083Android 8.0 工
2022-05-30 03:15:49
123
原创 05.HIDL_SELINUX权限
\device\mediateksample\tb8163p3_bsp\device.mkPRODUCT_PACKAGES += android.hardware.rowan@1.0-impl //hidl主文件PRODUCT_PACKAGES += android.hardware.rowan@1.0-service //hidl服务文件PRODUCT_PACKAGES += android.hardware.rowan@1.0-service.rc //hidl服务自启动..
2022-05-30 03:15:24
708
原创 04.service执行sh脚本
Android init.rc如何启动service去执行sh脚本2016年06月02日 10:29:41 帅不过三秒的码农 阅读数:4825 标签: Androidinit.rc 更多个人分类: Android版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/bukker/article/details/51564432在Android开发中经常会遇到,在应用层想去执行一个脚本来完成某些底层相关的操作,但在应用层又没有roo...
2022-05-30 03:15:00
544
原创 03.init.rc文件规则和解析
Android系统启动之init.rc文件解析过程目录第一篇:Android系统启动之bootloader第二篇:Android系统启动之Init流程(上)第三篇:Android系统启动之Init流程(下)第四篇:Android系统启动之init.rc文件解析过程第五篇:Android系统启动之zyogte进程第六篇:Android系统启动之zyogte进程java(上)第七篇:Android系统启动之zyogte进程java(下)第八篇:Android系统启动之SystemServe
2022-05-30 03:14:53
305
原创 02.HIDL绑定式和直通式区别
Android P HIDL服务绑定模式与直通模式的分析HIDL绑定式和直通式区别以前Adnroid版本的hal和framwork的代码紧密联系起来的,Google为了framework升级的方便在Android 8.0 上对 Android 操作系统底层进行了重新架构。新的架构已经了解一部分,但仍需要不断学习,加上最近需要将一些项目升级到Android O,所以决定该好好看看了,阅读代码过程中发现存在一种后缀为.hal的文件,该文件改变了我的一些久的思想。该文件具体的作用和语法后续
2022-05-30 03:14:46
1663
原创 01.HIDL新手入门
Android 架构 - HIDLAndroid的安全机制(SEANDROID)linux IO 几种穿透模式解析AndroidO Treble架构分析1JNI详解---从不懂到理解JNI实战(一):JNI HelloWorldandroid 自定义驱动(第三篇:HIDL服务端)HIDL 使用方式ANDROID P HAL层添加HIDL实例ANDROID SEPOLICY简要记/system/hwservicemanag
2022-05-30 03:14:38
193
原创 00.SELINUX
Android SELinux avc dennied权限问题解决方法这篇文字本人原创于2015年,并作为原厂发布文档release,当时并未上传博客,估计已经被很多网友发表了。1.概述SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“万能的root权限”,也不能获取全部的权限。本文旨在结合具体案例,讲解如何根据log来快速解决90%.
2022-05-29 20:45:32
389
原创 14.mtk假横屏
将 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
2022-05-29 20:45:24
843
原创 13.mtk lcm gamma调试
R255 G0 B0 纯红R255 G255 B0 纯黄R255 G255 B255 纯白R0 G0 B0 纯黑R0 G255 B255 天蓝R0 G0 B255 深蓝R255 G0 B255 洋红亮度:亮度就是各种图像色彩模式下,图形原色的明暗程度。亮度的调整就是明暗程度的调整。亮度的范围是从0——255,共256种色调。色相:色相就是从物体反射或透过物体传播的颜色。简单的说色相就是色彩颜色,对色相的调整就是在多种颜色之间的变化,例如光油红、橙、黄、绿、晴青、蓝、紫七色
2022-05-29 20:45:15
1414
3
原创 12.nvram_lcm_兼容
根据NVRAM固定地址的值,加载不同分辨率的屏驱动和logoif(LVDS_SELECT_FLAG == 0x31) B116XAN023_LVDS 1366x768}else{ KD116N5_40NV_B12_MIPI1368x768}相关文件:M frameworks/base/data/sounds/AllAudio.mkM frameworks/base/data/sounds/AudioPackageGo.mkM ...
2022-05-29 20:45:02
546
原创 11.ISINK充电呼吸灯
\kernel-4.14\drivers\misc\mediatek\include\mt-plat\mtk_boot.h 1 2 3 4 5 6 7 //liwyaddforisink1start #defineSUPPORT_ISINK1_BREATH_MODE #ifdefSUPPORT_ISINK1_BREATH_MODE //externintg_battery_capacity; ext...
2022-05-29 20:44:52
592
原创 10.sprd背光流程
Android 背光流程小结现在使用aidl方式:/hardware/interfaces/light/aidl/android/hardware/light/ILights.aidl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27.
2022-05-29 20:44:40
1377
原创 09.mtk背光流程
基于 Light 介绍安卓 8.0 HAL 变化/frameworks/base/services/core/java/com/android/server/lights/LightsService.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 .
2022-05-29 20:44:31
1174
原创 08.mtk背光等级和背光流程_KERNEL
基于led框架的驱动分析Led驱动架构理解史上最详细Linux 虚拟文件系统sysfs之属性文件attribute 整理(一)史上最详细Linux 虚拟文件系统sysfs之属性文件attribute 整理(二)一、介绍一下lk和kernel的默认亮度修改位置:/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt8168/include/platform/mt_leds.h 1 2 .
2022-05-29 20:43:44
2436
2
原创 07.external_charger_common_cpp
/vendor/mediatek/proprietary/external/charger/common.cpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 .
2022-05-29 20:43:36
133
原创 06.MTK关机充电动画显示
关机充电的第一张logo:/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/rules.mkRESOURCE_OBJ_LIST += \ $(BOOT_LOGO_DIR)/$(1)/$(1)_uboot.raw \ $(BOOT_LOGO_DIR)/$(1)/$(1)_battery.raw \ $(BOOT_LOGO_DIR)/$(1)/$...
2022-05-29 20:43:29
1701
原创 05.lcm_suspend/lcm_resume
(220415_20:32:12.936)[ 107.145152] <2>.(1)[507:HwBinder:441_1][Kernel/LCM]lcm_suspend() enter(220415_20:32:12.936)[ 107.145385] <2>.(2)[443:health@2.1-serv]mt635x-auxadc mt635x-auxadc: name:BAT_TEMP, channel=3, adc_out=0x5db, adc_result=...
2022-05-28 22:14:34
520
原创 04.lcm兼容
C Code \kernel-4.9-lc\drivers\misc\mediatek\lcm\FX_K101_IM2BA02_MIPI\FX_K101_IM2BA02_MIPI.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 .
2022-05-28 22:13:16
989
原创 03.lcm数据传输
在读/写指令时,Generic指令是不区分Index和parameter的,而DCS会默认把data0作为Index然后计算parameter数目。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29...
2022-05-28 22:12:05
655
原创 02.8321lcm简单配置
706m:D14 - GPIO83 - VLCD_AVDD_EN -LCM_STBYAA25 - GPIO70 - LCM_RESETVGP1 - VGP1_PMU -LCM_VDD863:AA3 - GPIO17 - LCM_VDD_EN -LCM_VDD33AA4 - GPIO18 -GPIO_LCM_PWR_ENAA24 - GPIO68 - LPTE - LCM_STBYAA25 - GPIO70 - LCM_RESETVGP1 - VGP1_PMU ...
2022-05-28 22:11:14
1529
原创 01.mipi时序
Video模式又分三种子模式:1 Non-burst Mode Sync pulses: 在这种模式下,DSI基于各种不同的同步数据包来做数据同步。这种数据包括:重构,时间校准等。更具体的请参考DSI协议标准。2 Non-burst Mode Sync event: 这种模式和第一种模式很像,但是这种模式不会发重构和时间校准的数据包,它们只发送一种叫做”Sync event”的包。3 Burst mode: 在horizontal 的时序是一样的情况下DSI会把连接的速度提升到Panel支持的最
2022-05-28 22:09:39
2442
原创 00.mipi协议
mipi差分信号原理理解mipi协议MIPI-DSI LP mode命令及格式详解MIPI信号的分析--结合示波器实际测试波形MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准总结:对应于同步信号完成并串转换;*HS 状态为高速低压差分信号,传输高速连续串行数据;*LP 状态为低速低功耗信号,传输控制信号和状态信号;*
2022-05-28 22:06:35
2681
原创 MIPI长包短包
接芯片长包,短包的命令不一样,这点最容易忽略,导致平初始化失败。主要看这几种,问清楚是哪种,或自己试: DCS GEN#define LPDT_LPK 0x39 //0x29#define LPDT_SPK 0x15 //0x23#define Norm_SPK 0x05 //0x13 /*dcsread/write */#define DTYPE_DCS_WRITE 0X05 /* short wirt...
2022-05-28 21:54:31
2989
原创 BatteryCapacityCtrl电量控制(GM3.0)
diff --git a/alps/device/mediatek/mt6765/thermal.conf b/alps/device/mediatek/mt6765/thermal.confindex 0d50d6f2ebc..ab59c49b606 100755--- a/alps/device/mediatek/mt6765/thermal.conf+++ b/alps/device/mediatek/mt6765/thermal.conf@@ -49,7 +49,7 @@ PVRbV%9@8
2022-05-28 21:50:57
2507
原创 BatteryCapacityCtrl电量控制
在Settings->Battery新增选项,以控制电量保持在设定的百分比:Otimização da vida útil da bateria #电池寿命的优化Carga Completa ativada #满载启动 ->Otimização da vida útil da bateria #电池寿命的优化 ->Carga Completa #满载 Carregue seu dispositivo até 10...
2022-05-28 21:50:48
1065
原创 08.netlink_kernel_create
(210919_11:15:55.975)[ 206.398032] <1>-(1)[511:fuelgauged] bmd_ctrl_cmd_from_user+0x1bd0/0x1d5c(210919_11:15:55.975)[ 206.398036] <1>-(1)[511:fuelgauged]nl_data_handler+0x158/0x184(210919_11:15:55.975)[ 206.398041] <1>-(1)[511:fue...
2022-05-28 21:50:33
941
1
原创 07.power_supply_register
这里介绍power_supply_register注册的几个结构体/kernel-4.14/include/linux/power_supply.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31.
2022-05-26 08:06:46
1038
原创 06.chrdet_int_handler
#define __SPIN_LOCK_UNLOCKED(lockname) \ (spinlock_t ) __SPIN_LOCK_INITIALIZER(lockname)#define ATOMIC_NOTIFIER_INIT(name) { \ .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ .head = NULL }#define ATOMIC_NOTIFIER_HEAD(name) \ struct ...
2022-05-26 08:06:37
620
原创 05.“power_misc_thread“线程
异常处理线程:/kernel-4.19/drivers/power/supply/mtk_battery.cvoid mtk_power_misc_init(struct mtk_battery *gm){ mutex_init(&gm->sdc.lock); alarm_init(&gm->sdc.kthread_fgtimer, ALARM_BOOTTIME, power_misc_kthr...
2022-05-26 08:06:29
204
原创 04.“battery_thread“线程
/kernel-4.14/drivers/power/supply/mediatek/battery/mtk_battery_core.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 structmtk_batterygm; voidmtk_battery_init(structplatf...
2022-05-26 08:06:22
587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人