android驱动
文章平均质量分 59
pan0755
来了学习了共享了
展开
-
ADB 模拟触摸和按键
解锁adb shell input keyevent 82查看设备与与event的对应关系cat /proc/bus/input/devicesgetevent获取屏幕输入事件,通过input tap命令模拟触摸屏幕input tap 600 800模拟的是滑动事件input swipe input swipe 100 800 700 800原创 2022-07-05 20:34:38 · 2277 阅读 · 0 评论 -
TTL,Mipi, LVDS和EDP接口区别
再看Linuxtty驱动过程中发现linux的驱动构架中,面向对象的思想已经根深蒂固。就比如这串口驱动,代码中经常有一些貌似和串口无关的代码,比如,tty_register_driver等。但我们却删它不得。因为正是这些代码实现了tty_core和具体的tty_driver(比如串口驱动)的联系和纽带。tty驱动中tty_core为最上层,tty_driver为最下层,线路规程层为中间层。tty_struct结构体为这三层交互的主要结构体。该结构体中包含了tty_core和线路规程层的操作方法。上层的操作.转载 2022-04-26 15:47:11 · 5216 阅读 · 1 评论 -
液晶屏MIPI接口与LVDS接口区别(总结)
液晶屏接口类型有LVDS接口、MIPI DSIDSI接口(下文只讨论液晶屏LVDS接口,不讨论其它应用的LVDS接口,因此说到LVDS接口时无特殊说明都是指液晶屏LVDS接口),它们的主要信号成分都是5组差分对,其中1组时钟CLK,4组DATA(MIPI DSI接口中称之为lane),它们到底有什么区别,能直接互联么?在网上搜索“MIPI DSI接口与LVDS接口区别”找到的答案基本上是描述MIPI DSI接口是什么,LVDS接口是什么,没有直接回答该问题。深入了解这些资料后,有了一些眉目,整理如下。首转载 2022-04-26 14:37:36 · 5859 阅读 · 0 评论 -
linux命令之busybox microcom,串口调试命令
一、busybox microcom命令使用方法如下:Usage: microcom [-d DELAY] [-t TIMEOUT] [-s SPEED] [-X] TTY参数说明如下:-d:表示延时时间,一般不设置。-t:表示超时时间,超多长时间后该命令自动退出。单位为ms。-s:表示传输速度,即串口波特率。-X:不加。二、示例如下,默认波特率115200可以不写,无-t参数将不自动退出。busybox microcom -t 5000 -s 115200 /dev/ttyU转载 2021-12-23 11:55:14 · 2188 阅读 · 0 评论 -
初识linux设备树
最近在操作应用笔记时接触linux设备树的修改使用,经过一段时间熟悉了解,对于设备树有了初步认识,在此对学习结果进行简单总结分享出来,请参考指正一、什么是设备树DTS即DeviceTree Source 设备树源码,是一种描述硬件的数据结构以树状节点的方式描述一个设备的各种硬件信息细节:CPU、GPIO、时钟、中断、内存等,形成类似文本文件dts,直接透过它传递给Linux,使得驱动程序与硬件分离,只需要修改dts文件,便能实现需求。设备树易于扩展,硬件有变动时不需要重新编译内核或驱动程序,只需转载 2021-10-22 14:30:13 · 171 阅读 · 0 评论 -
LCD显示的一些基本概念以及DSI的一些clock解释
用于声卡的控制,例如通道选择,混音,麦克风的控制等midiC0D0 --> 用于播放midi音频pcmC0D0c --〉 用于录音的pcm设备pcmC0D0p --〉 用于播放的pcm设备seq --〉 音序器timer --〉 定时器其中,C0D0代表的是声卡0中的设备0,pc...转载 2021-07-15 10:13:46 · 1373 阅读 · 0 评论 -
Linux printk的日志级别和pr_debug
1. 查看日志级别# cat /proc/sys/kernel/printk7 4 1 7 四个数值分别表示。控制台日志级别 默认消息日志级别(未明确指定日志级别的消息) 最小控制台日志级别 默认控制台日志级别 日志级别的定义在include/linux/kern_levels.h。数值越小,级别越高。当printk的日志级别高于控制台日志级别时,控制台打印日志。#define KERN_EMERG KERN_SOH "0"转载 2021-06-22 18:26:27 · 895 阅读 · 0 评论 -
电源管理芯片之 Regulator 用法 与具体使用实例
一、regulator 用法1.1、 电源管理 regulator 分成静态和动态:静态不需要改变电压电流,只需要开关电源,用在 BootLoader、frameware、kernel board 阶段等;动态是根据需要改变电压电流。1.2、 获取设备的 regulator、dev 为驱动对应的设备指针,可以用NULL,Vcc 为电源的 ID,内核会查表找到电源 ID 对应的 regulator。如:struct regulator *ldo; ldo = regualtor_get(NULL,转载 2021-06-21 15:44:22 · 7444 阅读 · 0 评论 -
linux串口子系统设备及端口注册及注销接口说明
串口驱动开发流程说明 在module_init标识的初始化函数中,调用uart_register_driver,完成uart_driver的注册,主要设置串口字符设备文件名称的前缀、串口个数的设置等; 创建一个platform_driver,在platform_driver的probe接口中,获取待注册串口信息的资源信息,并定义struct uart_ops中各函数,并调用uart_add_one_port完成uart port的注册; 为每一个待注册的串口设备,创建一个platf...转载 2021-06-17 14:41:21 · 311 阅读 · 0 评论 -
I2S和PCM,TDM,音频采样位数,采样率,比特率
I2S总线规范I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有3个主要信号:1、串行时钟SCLK,也叫位时钟BCLK,即对应数字音频的每一位数据,SCLK有1个脉冲。SCLK的频率=2×采样频率×采样位数。2、帧时钟LRCK,用于切换左右声道的数据。LRCK为“0”表示正在传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。LRCK的频率转载 2021-05-26 17:51:30 · 8413 阅读 · 0 评论 -
OTA和Recovery系统升级流程介绍
本文介绍了Android原生OTA和Recovery升级过程步骤. 进入升级- 1.1 正常启动和进入Recovery的区别下面给出了升级流程的简单示意图。上图中的上下两个部分,上面一部分是正常的启动模式,下面一部分为Recovery模式。正常的启动模式是从boot.img启动系统(Main System),而recovery模式则是从reovery.img启动系统;(reovery.img只包含内核、简单的文件管理系统和图形系统)Boot分区包括Linux内核和Ramdisk,R.转载 2021-05-25 12:06:11 · 3496 阅读 · 0 评论 -
深入理解SELinux SEAndroid
https://blog.csdn.net/innost/article/details/19299937https://blog.csdn.net/innost/article/details/19641487https://blog.csdn.net/Innost/article/details/19767621转载 2021-04-21 11:47:24 · 123 阅读 · 0 评论 -
SELinux/SEAndroid 实例简述(三)实例看SELinux/SEAndroid
/*********************************** * Author:刘江明 * Environment:MTK Android 6.0 * Date:2016年11月06日 ***********************************/基础知识都已经学习完了,但是还不知道怎么样,下面从不同的场景,实现了几个例子,可以参考学习一下对于/extern/sepolicy的修改用如下方法编译: 1. mmm...转载 2021-04-21 11:41:03 · 435 阅读 · 0 评论 -
Android SELinux avc denied解决
参考:Android SELinux avc dennied权限问题解决方法https://blog.csdn.net/tung214/article/details/72734086解决原则:缺什么权限补什么,直到没有avc denied为止。解决方法:在对应的.te中增加allow语句。格式一般如下:avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 t..转载 2021-04-17 17:41:59 · 13703 阅读 · 1 评论 -
Android 音视频开发(一):PCM 格式音频的播放与采集
什么是 PCM 格式声音从模拟信号转化为数字信号的技术,经过采样、量化、编码三个过程将模拟信号数字化。 采样 顾名思义,对模拟信号采集样本,该过程是从时间上对信号进行数字化,例如每秒采集 44100 次,即采样频率 44.1 khz 量化 既然是将音频数字化,那就需要使用二进制来表示声音的每一个样本。例如每个样本使用 16 位长度来表示,即音频的位深度为 16 位 编码 编码就是按照一定的格式记录采样和量化后的数据,比如顺序存储或压缩存储等 编码后经由不同的算法转载 2021-04-07 11:33:10 · 1503 阅读 · 0 评论 -
.wav,.aiff,.mp3和.m4a四种格式之间的真正区别是什么?
音频世界充满了很多选择,这次提到的四种基本格式只是十几种不同音频格式中的几种。最终,无论您使用哪种用例,都将找到一种可以满足您需求的音频格式,包括一些压缩无损文件格式。现在您已经知道如何使用基础知识,我迫不及待想听听您创作的音乐。这里为大家大致介绍这四种格式的区别。什么是.WAV文件?文件扩展名: .wav格式类型:无压缩无损波形音频文件(也称为WAV文件)是较流行的数字音频格式之一,并且是录音棚录制的黄金标准。WAV是最早的数字音频格式之一,并迅速成为所有平台的主要内容。尽管取得了数十年的转载 2021-04-07 11:21:42 · 20029 阅读 · 1 评论 -
WAV和PCM的关系和区别
什么是WAV和PCM?WAV:wav是一种无损的音频文件格式,WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。PCM:PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等转载 2021-04-07 11:14:13 · 1169 阅读 · 0 评论 -
MTK ANDROID10.0 JPEG EXIF mobile log.
上面是工具,修改如下01-07 11:45:30.704710 575 3657 I MtkCam/JpegNode: [onProcessRequest] pan... onProcessRequest() start!01-07 11:45:30.704988 575 3657 I MtkCam/JpegNode: [prepareExif] pan... prepareExif() start!01-07 11:45:30.705028 575 3657 I Mt...原创 2021-01-07 12:09:01 · 290 阅读 · 1 评论 -
linux console驱动详解
console驱动: 一、基本概念 终端是一种字符型设备,通常使用tty简称各种类型的终端。linux的终端类型: /dev/ttySn,串行口终端 /dev/pty,伪终端 /dev/tty,当前进程的控制终端,可以是介绍的其它任何一种终端 /dev/ttyn,tty1~tty6是虚拟终端,tty0当前虚拟终端的别名。 /dev/console,控制台终端(显示器) 二、ub...转载 2020-09-08 17:12:10 · 3542 阅读 · 0 评论 -
LINUX TTY驱动构架
再看Linuxtty驱动过程中发现linux的驱动构架中,面向对象的思想已经根深蒂固。就比如这串口驱动,代码中经常有一些貌似和串口无关的代码,比如,tty_register_driver等。但我们却删它不得。因为正是这些代码实现了tty_core和具体的tty_driver(比如串口驱动)的联系和纽带。tty驱动中tty_core为最上层,tty_driver为最下层,线路规程层为中间层。tty_struct结构体为这三层交互的主要结构体。该结构体中包含了tty_core和线路规程层的操作方法。上层的操作.转载 2020-08-27 10:50:54 · 485 阅读 · 0 评论 -
linux key code
#define KEY_RESERVED 0#define KEY_ESC 1#define KEY_1 2#define KEY_2 3#define KEY_3 4#define KEY_4 5#define KEY_5 6#define KEY_6 7#define KEY_7 8#define ...原创 2020-08-24 17:34:33 · 890 阅读 · 0 评论 -
如何cp目录时忽略指定的目录和文件
在备份ltedecoder程序时,需要把此目录拷由到bak目录下,但decoder目录下有个大文件,不需要备份,还有日志问题,也不需要备份,如何实现呢??方法: cd /source-dir find . -name \.snapshot -prune -o -print0 | cpio -pmd0 /dest-dir解释:This command copies the contents of /source-dir to /dest-dir, but omits fil...转载 2020-08-20 11:13:46 · 2033 阅读 · 0 评论 -
Linux电源管理_Runtime PM之功能描述
1. 前言终于可以写Runtime PM(后面简称RPM)了,说实话,蜗蜗有点小激动。因为从个人的角度讲,我很推崇使用RPM进行日常的动态电源管理,而不是suspend机制。软件工程的基本思想就是模块化:高内聚和低耦合。通俗地讲呢,就是“各人自扫门前雪”,尽量扫好自己的(高内聚),尽量不和别人交互(低耦合)。而RPM正体现了这一思想:每个设备(包括CPU)都处理好自身的电源管理工作,尽量以最低的能耗完成交代的任务,尽量在不需要工作的时候进入低功耗状态,尽量不和其它模块有过多耦合。每个设备都是最节省的转载 2020-07-25 14:30:06 · 1182 阅读 · 0 评论 -
Android P中的AVB校验
avb校验功能主要是由external/avb/libavb库实现的,该库主要完成的工作包括各个分区镜像的校验,签名验证,以及vbmeta数据的解析,包括了各种flags的处理以及dm-verity所需要的参数解析。avb校验库的主入口为avb_slot_verify(AvbOps* ops, const char* const* requested_partitions, const char* ab_suffix, ...转载 2020-06-17 10:54:23 · 3200 阅读 · 0 评论 -
sensor input devices
# getevent -p 列出所有input设备#getevent /dev/input/eventx 查看x设备是否连续不断上报原创 2018-03-10 18:12:40 · 433 阅读 · 0 评论 -
linux下查看so文件是64位还是32位
file xxx.so原创 2018-03-26 14:45:36 · 20237 阅读 · 1 评论 -
MTK 查看修改GPIO状态
ToshowGPIOstatus:adbshell"cat/sys/devices/virtual/misc/mtgpio/pin"TochangeGPIOstatus:adbshell"echo\"-w=99:0100010\">/sys/devices/virtual/misc/mtgpio/pin"...原创 2018-06-11 10:23:16 · 1666 阅读 · 0 评论 -
c语言sizeof()在32位及64位系统的区别
类型 32位系统64位系统char11unsigned char11signed char11int44short22long48long int48signed int44unsigned int4转载 2016-11-09 10:10:22 · 1662 阅读 · 0 评论 -
toybox框架
Toybox infrastructure.Rob Landley rob at landley.net Wed Mar 10 02:43:52 UTC 2010Previous message: Bug in wc.Next message: Pushing toybox infrastructure upstream.Messages sorted by: [转载 2018-01-13 10:32:29 · 2052 阅读 · 0 评论 -
MTK软件上层读取校准标志位的方法
ATE tool 校准标志位 存在Barcode 的第60,61 byte,pass 是10 ,fail 是01。PhoneInterfaceManager.java中有方法 getSN(请使用return mPhone.getSN();)可以得到barcode , 再将相应的位解析出来即可。转载 2017-10-26 16:16:39 · 1054 阅读 · 0 评论 -
DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。 DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格转载 2017-10-25 18:57:21 · 2058 阅读 · 0 评论 -
Linux内核驱动之DDR3(一)寻址
1 相关原理 DDR3内部相当于存储表格,和表格的检索相似,需要先指定 行地址(row),再指定列地址(column),这样就可以准确的找到需要的单元格。对于DDR3内存,单元格称为基本存储单元(也就是每次能从该DDR3芯片读取的最小数据),存储表格称为逻辑bank(DDR3内存芯片都是8个bank,也就是说有8个这样的存储表格) 所以寻址的流程是先指定bank地址,再指定行地址(ro转载 2017-10-25 17:23:13 · 958 阅读 · 0 评论 -
DDR工作原理
DDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。本文只着重讲讲DDR的原理和DDR SDRAM相对于传统SDRAM(又称SDR SDRAM)的不同。 DDR的核心频率、时钟频率和数据传输频率:转载 2017-10-25 17:00:39 · 2719 阅读 · 0 评论 -
MTK平台充电调试总结
转自侵删:https://blog.csdn.net/xajhsunei/article/details/47025231 摘要:调试电池的充放电管理,首先需要深入了解锂电池的电池原理和特点,充放电特性以及基本的电池安全问题。然后需要对MTK的电池管理驱动程序有深入的了解,理解电池充放电算法的基本原理。在此基础上,对充放电导致的问题进行调试优化。 一、 锂电池工作原理和...转载 2018-07-17 08:56:31 · 4395 阅读 · 0 评论 -
MTK 充电逻辑总
https://blog.csdn.net/richu123/article/details/51456659转载 2018-07-17 18:36:13 · 735 阅读 · 0 评论 -
MTK BT/WIFI小析
https://blog.csdn.net/dlijun/article/details/51112056转载 2018-07-25 18:58:44 · 1806 阅读 · 0 评论 -
find rename grep sed
1. 替换文件名,包含子目录find ./ -name "*ov13855*" | rename "s/ov13855/ov13850/"2. 查找所有包含字符串ov13855的.mk文件find ./ -name "*.mk" | xargs grep ov138553.查找所有包含字符串"ov13855"的.mk文件, 字符"ov13855"替换为"ov13850"fin...原创 2019-07-26 14:31:47 · 241 阅读 · 0 评论 -
MTK平台SPI总线的参数意义
解释MTK平台SPI总线参数的含义文件kernel-3.10/drivers/misc/mediatek/spi/mt6795/spi.c是MTK的spi控制器的驱动,具体参数的设定是在chip_config文件中。chip_config就是从设备spi_device。对应的时间就是:设定的数值×9.6ns。如low_time = 10*9.6ns =96ns.,mt_spi_set...转载 2019-07-12 10:18:44 · 1504 阅读 · 0 评论 -
Open drain & push pull 原理(转)
最近在写GPIO的driver, 在配置GPIO管脚时,看见了感觉熟悉的两个名词:Open Drain and Push Pull。可是一时对它们的原理及区别有感觉很模糊,故上网收集了一些资料复习一下。 所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上...转载 2019-04-01 18:06:57 · 19353 阅读 · 1 评论 -
ubuntu14.04 下flash_tool问题
1、驱动配置: 先配置adb驱动:vim /etc/udev/rules.d/53-android.rules然后配置flash_tool的,vim /etc/udev/rules.d/53-MTKinc.rules驱动重新加载: sudo chmod a+rx /etc/udev/rules.d/53-android.rules sudo...转载 2019-02-21 18:25:59 · 708 阅读 · 0 评论