自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 android手机开启触摸报点跟踪

adb shell settings put system show_touches 1adb shell settings put system pointer_location 1

2020-09-11 16:59:03 3124 1

原创 修改Android开机动画

修改Android开机动画有两种方式1、通过adb来修改:进入/system/media目录,将里面的 bootanimation.zip 文件pull出来,然后解压,替换part0和part1中的图片,并且根据图片大小修改文件 desc.txt 中的内容,其中550 550是图片大小,20是帧率然后压缩成 bootanimation.zip ,压缩必须用仅存储模式压缩,内容必须在压缩后的一级目录,否则会出现开机没有logo的问题2、通过编译出system.img来更新一、生成相应的boo

2020-08-26 14:36:53 2030

原创 修改frameworks之后Android SDK API报错

******************************prebuilts/sdk/api/22.txt:164: error 9: Removed public constructor Manifest.permission_group()prebuilts/sdk/api/22.txt:203: error 9: Removed public constructor R.anim()prebuilts/sdk/api/22.txt:220: error 9: Removed public co

2020-08-05 10:58:19 494

原创 HAL层权限不够无法访问底层硬件设备

在HAL层调用open函数去打开底层硬件设备,常常会遇到open失败的问题,这是由于一般的应用程序没有root权限。解决这个问题的办法是赋予root之外的用户访问的权限,修改system/core/rootdir/ueventd.rc配置文件,在里面增加你要访问的设备的权限,例如你的设备名字是hello,则增加的内容是:/dev/hello 0666 root root然后重新编译烧写。...

2020-08-04 10:40:22 553

原创 安卓永久修改像素密度

adb 打开/system/build.prop文件,调整ro.sf.lcd_density这个变量的值,就可以调整像素密度了

2020-07-28 14:50:38 578

原创 _IO, _IOR, _IOW, _IOWR 宏的用法

_IO (魔数, 基数);_IOR (魔数, 基数, 变量型)_IOW (魔数, 基数, 变量型)_IOWR (魔数, 基数,变量型 )魔数 (magic number)魔数范围为 0~255 。通常,用英文字符 “A” ~ “Z” 或者 “a” ~ “z” 来表示。设备驱动程序从传递进来的命令获取魔数,然后与自身处理的魔数想比较,如果相同则处理,不同则不处理。魔数是拒绝误使用的初步辅助状态。设备驱动 程序可以通过 _IOC_TYPE (cmd) 来获取魔数。不同的设备驱动程序最好设置不同的魔数

2020-07-22 17:05:00 876

原创 MTK平台如何让SN唯一

1、定义宏 CONFIG_MTK_USB_UNIQUE_SERIAL\vendor\mediatek\proprietary\bootable\bootloader\lk\project\amt6797_64_open.mk将 CUSTOM_LK_USB_UNIQUE_SERIAL = yes这样 在 \vendor\mediatek\proprietary\bootable\bootloader\lk\makefile中,系统才会自动将CONFIG_MTK_USB_UNIQUE_SERIAL宏定义。

2020-06-09 16:31:33 852 1

原创 I2C出错码

#define EPERM 1 /* Operation not permitted /#define ENOENT 2 / No such file or directory /#define ESRCH 3 / No such process /#define EINTR 4 / Interrupted system call /#define EIO 5 / I/O error /#define ENXIO 6 / No such device or address /#def

2020-05-12 14:00:45 3007

原创 adb 命令让手机不进入休眠

adb 命令让手机不进入休眠svc power stayon true

2020-05-06 18:06:51 5648

原创 SPI协议解析

SPI协议解析SPI是串行外设接口(Serial Peripheral Interface)的缩写,由Motorola公司开发,SPI是同步四线制高速的全双工同步通讯总线。和I2C不同的是,spi依靠片选线来选择设备,这就导致spi比i2c电路上的复杂,需要的资源也更多,每个设备都要有一个唯一的片选线。spi四根总线的介绍:SCLK:时钟总线,由主机发出MISO(SDI):Master...

2020-03-22 18:59:48 428

原创 I2C协议解析

I2C协议解析I2C有两条线:一条SCL时钟线,一条SDA数据线,具有双向传输的特性。一个I2C控制器可以和多个从设备通讯,通过不同的通信地址来区分它们,这一点和SPI不同,SPI是通过片选信号来区分的,所以线路上I2C更为简单。图中表示I2C主机和从设备的连接方式I2C状态的解析1、空闲状态SCL:高SDA:高2、开始信号:SCL:高SDA:高->低(跳变信号)3、...

2020-03-22 16:58:53 517

原创 input子系统五:总结框架

input子系统五:总结框架通过前面的学习,我们可以看到输入子系统可以分为三大块:input核心层、input handler层、input设备层1、input核心层input核心层的主要功能主要有以下几点:1、提供函数接口比如:input设备和input handler的注册函数2、申请和维护子系统需要的一些资源:设备链表和handler链表,以及初始化input子系统的文件资源3、...

2020-03-21 18:00:31 211

原创 input子系统四:输入事件是如何上报的

我们在输入设备驱动中利用函数input_event()函数来上报事件,接下来我们就来看看,内核拿到我们上报的数据之后是如何继续上报到用户空间的/** * input_event() - report new input event * @dev: device that generated the event * @type: type of the event * @code: ev...

2020-03-21 16:50:34 1630

原创 input子系统三:handler到底是个什么鬼

在上一篇中我们分析了输入设备的注册函数,但分析到最后发现注册的过程跟handler有很大的关系,接下来我们就来看看这个handler是个什么鬼/** * struct input_handler - implements one of interfaces for input devices * @private: driver-specific data * @event: event...

2020-03-21 16:49:25 483

原创 input子系统二:输入设备的注册之路

在上一节中我们学会了怎么写一个符合输入子系统框架的驱动,但是这个框架是如何为我们服务的?我们的注册函数和上报事件的函数是如何运作的?从这一节开始我们就来探究输入设备的注册之路/** * input_register_device - register device with input core * @dev: device to be registered * * This fun...

2020-03-21 16:46:24 351

原创 input子系统一:输入设备驱动编写

input子系统一:输入设备驱动编写在学习input子系统内核代码之前,先来看看我们如何编写一个符合input子系统框架的输入设备驱动,以最常用的触摸屏为例子。1、驱动编写步骤1、分配一个struct input_dev结构体2、设置设备能产生哪类和哪些事件3、注册4、硬件相关的操作(中断、上报事件等)2、接口函数在编写之前先来看看会用到的几个关键的函数:1、input_all...

2020-03-21 16:45:31 538

原创 Linux设备驱动和设备匹配过程

Linux设备驱动和设备匹配过程在写驱动时我们都会用到一些注册函数比如:platform_driver_register、spi_register_driver、i2c_add_driver,接下来我们就一路追踪看看内核是怎样将我们的驱动和设备匹配起来并且调用我们写的prob函数,在此我们用**platform_driver**位例子。struct platform_driver { *...

2020-03-16 16:21:39 1946 1

原创 设备树语法以及如何编译设备树

设备树语法以及如何编译设备树1,设备树的基本语法首先设备树为何叫做树?(https://img-blog.csdnimg.cn/20200314152809386.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80M...

2020-03-14 17:15:14 3132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除