驱动开发
文章平均质量分 80
qq964541543
对科技爱好者你有多高我就想最多高
展开
-
动态度量,内核获取代码段方式
获得内核函数地址的四种方法获得内核函数地址的四种方法本文以获取内核函数 sys_open()的地址为例。 1)从System.map文件中直接得到地址: $grep sys_open /usr/src/linux/System.map 2)使用 nm 命令: $nm vmlinuz | grep sys_open 3)从 /proc/kallsyms 文件获得地址: $cat /proc/kallsyms | grep...原创 2021-11-01 15:43:20 · 621 阅读 · 0 评论 -
高通SDM845平台Sensor学习——3.SLPI(Physical Sensor)
三:Sensor SLPI层代码分析在学习SLPI侧代码前我们先了解下SEE的registry&config。registry 放在/persist/sensors/registry/registry中,它是通过config生成的,是给SLPI解析的文件。config 放在/persist/sensors/registry/config中,它需要RD修改更新,用来生成register以便SLPI使用。每次config update后,即会更新registry。每次reboot后,会重新加载原创 2021-02-22 11:05:24 · 4510 阅读 · 1 评论 -
高通SDM855平台Sensor学习——2.Hal层
二:Sensor Hal层代码分析Hal code放在/vendor/qcom/proprietary/sensors-see/中图5sensors-hal文件夹中包含framework和sensors文件夹,为本文重点分析对象。首先分析sensors文件夹:根据C++继承的特性,相同的操作各个class共同拥有,不同的操作每个class可以重写,该文件夹内文件为每个sensor不同的地方,porting sensor主要是在这部分做的。sensors文件夹中包含很多sensor.原创 2021-02-22 10:58:02 · 3289 阅读 · 1 评论 -
高通SDM855平台Sensor学习——1.框架
一:简介高通从SDM845平台开始,Sensor使用新的架构SEE(Sensors Execution Environment),和之前架构不同,新的架构有着太多的优点。首先,先对比下新架构和旧架构的不同。图1从上图可以看到,新架构简化太多,SEE充当了Core层的重要角色。负责传送request,接收event。下面,了解下SEE和旧框架的对比。图2接着,我们看下Sensor之间数据如何传输。先看下see中各部分的定义。图3...原创 2021-02-22 10:54:03 · 2421 阅读 · 0 评论 -
Keycode scancode 与input keycode对应关系
https://www.cnblogs.com/lifexy/p/7645527.htmlhttps://www.win.tue.nl/~aeb/linux/kbd/scancodes-10.html#ss10.61.首先我们通过上节的代码中修改,来打印下键盘驱动的数据到底是怎样的先来回忆下,我们之前写的鼠标驱动的id_table是这样:所以我们要修改id_table,使这个驱动为键盘的驱动,如下图所示:然后修改中断函数,通过printk()打印数据:我们先按下按键A为例.原创 2021-02-03 11:37:01 · 1501 阅读 · 0 评论 -
Ubuntu 开始自动启动一个脚本加获取root权限执行
第一步:制作脚本(这部分已经完成)在脚本文件统计目录下创建_PWD_TEMP_:自动进入root需要创建该文件,我的当前路径为/home/kiki/下载/070120main_ui_release_linux/070120main_ui_release_linux/app,创建_PWD_TEMP_,内容是:#!/bin/bashecho "1313"(这个填写自己的root密码,蓝色的部分)创建脚本matLab_ui.sh#!/bin/sh#!/bin/shcd/etc/...原创 2020-11-24 11:58:31 · 2542 阅读 · 0 评论 -
Battery Historian
利用docker运行Battery Historian进行Android电量分析之前做Android 电量相关的性能测试,官方提供了一种方法,使用Battery Historian工具对 dumpsys 命令输出内容中电量相关事件的日志,生成 HTML 可视化内容。考虑到这种方式或许有助于实现自动化方式了解和诊断电池相关问题,于是开始动手实践。先了解下几个信息: 什么是Battery Historian Battery Historian是一款由Google提供的Andro...原创 2020-09-22 20:55:06 · 214 阅读 · 0 评论 -
全面编写hello驱动的HAL层代码到APP层
Android架构实例分析之编写hello驱动的HAL层代码通到APP摘要:HAL层中文名称又叫硬件抽象层,可以理解我Linux驱动的应用层。本文实现了一个简单的hello HAL的代码,衔接hello驱动和Android标准架构实例分析之编写最简单的hello驱动HAL层的代码会使用open read write等系统调用操作驱动层的文件系统(dev、sysfs、proc),同时...原创 2020-03-27 20:22:02 · 676 阅读 · 0 评论 -
Android input系统用户空间流程
inputManager |inputReader --> inputDispatcher |eventHub |driver一. 设备的添加过程对于/dev/input下的设备结点,开机时会自动扫描一下,同时也添加了监测,每当设备结点有变化(usb鼠标插入)时都会再扫描一下.下面只分析开机扫描/dev/input/的过程,监测过程类似.在....原创 2020-02-11 17:10:36 · 332 阅读 · 0 评论 -
DisplayMode
/vendor/amlogic/common/frameworks/services/systemcontrol/DisplayMode.hBoarConfig.mk原创 2019-11-27 15:31:34 · 369 阅读 · 0 评论 -
linux 内核审核代码格式 /scripts/checkpatch.pl
Linux程序的命名习惯和Windows程序的命名习惯及著名的匈牙利命名法有很大的不同一、Documentation/CodingStyle文档Linux有独特的编码风格,在Linux内核源代码下存在一个文件Documentation/CodingStyle,进行了比较详细的描述二、scripts/checkpatch.pl脚本内核下的scripts/checkpatch.pl提供了1...原创 2019-11-22 10:42:09 · 2682 阅读 · 0 评论 -
LCD 不同 MIPI 4-LANE
EK79007+BOE 7.0(IPS) MIPI 4-LANE參數:VDD= 1.8~2.0VRESET=VDD;STBYB=VDD;VGH= 18VVGL= -6VAVDD= 9.6VVCOM= 3.2V(tpy.)MIPI CLK Speed:340Mbps(170MHZ)H back porch:160H front porch:160H pulse width:...原创 2019-10-24 11:07:40 · 2586 阅读 · 0 评论 -
驱动编译,编译kconfig 出现endmenu' in different file than 'menu'
>>makemenuconfigscripts/kconfig/mconfKconfigdrivers/xxxx/Kconfig:10:'endmenu'indifferentfilethan'menu'drivers/xxxx/Kconfig:2:locationofthe'menu'drivers/Kconfig:117:'endmenu'in...原创 2019-09-16 11:52:48 · 251 阅读 · 0 评论