- 博客(15)
- 收藏
- 关注
原创 linux休眠唤醒流程
按键导致uboot运行,会继续运行suspend_enter函数(kernel-4.19\kernel\power\suspend.c)中syscore_resume函数,依次调用arch_suspend_enable_irqs,platform_resume_noirq,dpm_resume_noirq,platform_resume_early,dpm_resume_early,platform_resume_finish,唤醒的过程是休眠的反向的。
2024-08-13 09:42:14
1527
原创 Android中的JNI
JNI(Java Native Interface)是Java语言中用于与本地C/C++代码交互的特性,允许Java代码调用本地代码。JNI全称Java Native Interface,是Java语言与本地C/C++代码交互的标准方法。通过JNI,Java代码可以调用本地方法,这些方法以C或C++编写。这种机制使得Java程序能够充分利用底层系统功能,如图形处理、音频处理等。JNI的主要优点包括扩展Java程序的功能、提高性能以及保护代码安全。JNI也是Android的重要组成部分。
2024-07-10 18:35:40
2846
原创 MTK_SensorHub
MTK Sensor Hub 框架是一个专门用于管理和处理智能手机中各类传感器数据的协处理器系统,旨在提高传感器数据处理效率和降低功耗。在现代智能手机中,传感器起着至关重要的作用,它们能够提供诸如加速度、陀螺仪、磁力、气压、湿度、压力、光照、近程和心率等多种物理数据的测量。然而,随着传感器数量和使用频率的增加,其对电能的消耗也相应增加。
2024-07-10 18:20:17
2755
原创 Camera(5)metadata
Metadata 是整个 Android camera 中类似于高楼大厦中的管道系统一样,贯穿了整个 Camera 的 Framework 和 vendor HAL。Metadata 里面包含了所有的控制、参数、返回值等等。Metadata分为Android原生的Metadata和芯片商或者用户自定义的Metadata,即Android Tag和Vendor Tag。Vendor Tag在Hal中定义,并在camx和chi目录中使用。
2024-06-17 10:25:45
1794
原创 Camera(4)MTK代码跟读
主要包含三个部分的介绍:1)Android Camera 架构:Android系统原生架构简要介绍.2)Mediatek Android Camera架构: 简要介绍Mediatek平台在Android系统基础上Camera 的架构.3)Camera data path: 介绍在平台端Camera的数据流.1.下图为Android Camera 架构Camera根据Android 架构从上至下可分为1)Applications: 最上层的应用,编译后生成Camera APK;
2024-06-17 10:02:29
1654
原创 camera(3)sensor power
camera包含的三路电压为模拟电压(VCAMA),数字电压(VCAMD),IO口电压(VCAMIO)BB与Sensor端通过I2C来通信(读写寄存器),包含SCL(I2C clock)、SDA(I2C Data)信号mipi data是成对的差分信号,MIPI_RDN和MIPI_RDP,有几对这样的pin脚,则说明是几条lane,同一颗sensor由于register setting不同,输出的信号可能是2lane或者4lane等。
2024-06-15 18:13:04
561
原创 camera(2)图像输出格式
Bayer阵列模拟人眼对色彩的敏感程度,采用1红2绿1蓝的彩色滤光片阵列,对光线进行过滤。光线经过Bayer滤光片,获取到R、G、B三个通道的图像。R通道和B通道分别只有1/4的像素被填充,G通道只有1/2的像素被填充。通过插值算法,将R、G、B三个通道的原始图填充,就可以得到完备的彩色图像。
2024-06-15 18:05:06
1956
原创 Camera(1)基本概念介绍
外部光线穿过 lens(镜面) 后, 经过 color filter(颜色滤波器) 滤波后照射到 Sensor 上, Sensor 将从 lens 上传导过来的光线转换为电信号,再通过内部的 AD 转换为数字信号。如果 Sensor 没有集成 DSP(数字信号处理),则通过 DVP(数据视频接口) 的方式传输到baseband(原始数据处理器),此时的数据格式是RAW DATA。
2024-06-15 17:56:35
1426
原创 充电协议详解
这当中就包含了低压/高压两个部分,而综合以往的PD协议电流数据看来(1.5A、2A、3A和5A),此次的USBPD3.0将能同时实现高压/小电流、低压/大电流两种快充方案,加上电压调幅步进为20mV,整体思路融合了像高通QC快充的高压低电流(同样以步进调幅电压保证充电效率)与VOOC闪充的低压大电流两种方案。PD是PowerDelivery,关注的是两个或者多个设备,甚至是一个基于USB接口的智能电网的电能传输过程,电能传输可以是双方向的,甚至是组网的,可以具备系统级供电策略。端口的D+和D-线之间短路。
2023-11-10 18:02:15
10605
1
原创 sprd平台临时关闭Selinux权限
2.Permissive:宽容模式,代表SELinux运作中,违反SELinux规则只会有警告讯息(Avc denied),并不会实际限制domain/type的存取.这种模式可以作为SELinux的debug之用(看下什么原因导致无法访问)。一般我们所说的关闭Selinux权限测试问题,是指将SELinux设置为Permissive:宽容模式,使avc denied问题显示出来,但不影响实际应用的运行,可以更好的确认问题是否由权限问题导致。//将其修改为 false。
2023-07-04 15:36:33
477
原创 sprd平台pinmap介绍
pinmap文件存放路径:bsp/bootloader/u-boot15/board/spreadtrum/[实际使用的 Board]/pinmap.cPinmap.c
2023-03-09 10:57:51
4562
原创 LINUX文件系统与硬件控制
proc 文件系统是一个虚拟文件系统,它以文件系统的方式为应用层访问系统内核数据提供了接口,用 户和应用程序可以通过 proc 文件系统得到系统信息和进程相关信息,对 proc 文件系统的读写作为与内核 进行通信的一种手段。但是与普通文件不同的是,proc 文件系统是动态创建的,文件本身并不存在于磁盘 当中、只存在于内存当中,与 devfs 一样,都被称为虚拟文件系统。
2022-12-09 17:05:59
246
转载 线程的阻塞与休眠
进程、线程状态进程一般分五个状态:创建,就绪,运行,阻塞,结束线程一般分四个状态:就绪,运行,阻塞,死亡针对进程或线程各个状态的区别,从名字大概就可以看出来了。针对阻塞、休眠,挂起,又怎么考虑区别呢?实际使用时,经常称呼阻塞后进入挂起,因为可以认为挂起就是一个动作,进入阻塞态或休眠态。休眠和挂起并没有写入线程、进程生命周期的状态。1、主动,被动角度阻塞pend是被动,在访问临界资源(锁等)时,被阻塞了休眠和挂起,一般是主动(或由父进程发起挂起)因此恢复也应该要主动完成,休眠在休眠时,就知道了计划休眠
2022-12-06 15:41:05
1733
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人