Linux
calmXia
这个作者很懒,什么都没留下…
展开
-
Issues:Frequency out of range: (expecting between 112.50Hz and 275.00Hz, measured 99.85Hz)
1. 分析 CTS log junit.framework.AssertionFailedError: VerifySensorOperation | sensor='SL SC7A20 3-axis Accelerometer', samplingPeriod=0us, maxReportLatency=10000000us | Frequency out of range: Requested "SL SC7A20 3-axis Accelerometer" at fastest (expecti原创 2020-05-17 22:14:54 · 1002 阅读 · 0 评论 -
crash:dis命令
更多内容:Debug All In Onecrash_arm64> help disNAME dis - disassembleSYNOPSIS dis [-rfludxs][-b [num]] [address | symbol | (expression)] [count]DESCRIPTION This command disassembles source code instructions starting (or ending) at a text addr原创 2020-05-14 18:16:14 · 1824 阅读 · 0 评论 -
crash:ps 命令
crash_arm64> help psNAME ps - display process status informationSYNOPSIS ps [-k|-u|-G|-y policy] [-s] [-p|-c|-t|-[l|m][-C cpu]|-a|-g|-r|-S|-A] [pid | task | command] ...DESCRIPTION This command displays process status for selected, or a原创 2020-05-14 15:31:35 · 1177 阅读 · 0 评论 -
Develop All In One
crashcrash All In One原创 2020-05-14 12:23:28 · 193 阅读 · 0 评论 -
crash:overview
工具平台Android10代码中包含crash工具,路径和内容如下:calm.xia@shand20[12:15:30]:~/10_automotive/vendor/sprd/tools/crash$ tree -L 3.├── pycrash│ ├── bin│ │ ├── crash -> crash_arm64│ │ ├── crash_arm│ │ ├── crash_arm64│ │ ├── crash_vmm│ │ ├──原创 2020-05-14 12:19:27 · 1262 阅读 · 0 评论 -
crash: mod命令
说明:文章基于arm64分析,使用的工具是crash_arm64.mod 命令介绍进入crash调试窗口后,输入 help mod 即可查看mod工具的使用帮助信息。crash_arm64> help modNAME mod - module information and loading of symbols and debugging dataSYNOPSIS mod -s module [objfile] | -d module | -S [directory] [-D|原创 2020-05-14 11:50:54 · 1744 阅读 · 0 评论 -
Trace-irqoff
Trace-irqoff简介:字节跳动系统部STE团队出品的"kernel trace tools"系列文章,介绍团队自研多类延迟问题追踪工具开源地址:https://github.com/bytedance/trace-irqoff描述:在实际问题中,业务经常会遇到网络延迟高问题,这种问题分析下来。基本是如下几种可能原因:中断关闭时间太长softirq 关闭时间太长...原创 2020-04-20 10:04:53 · 886 阅读 · 0 评论 -
V4L2 All in One
Learning materials和菜鸟一起学linux之V4L2摄像头应用流程v4l2的学习建议和流程解析原创 2020-04-17 16:17:29 · 132 阅读 · 0 评论 -
pinctrl subsystem 学习总结
todo原创 2020-04-02 22:15:18 · 153 阅读 · 0 评论 -
Linux Kernel Log 定制化
我们的需求?内核打印日志信息时,我们想增加一些统一的标志性TAG,方便搜索查看。 怎么做?在你的内核.c 源文件(常见的是驱动程序)的头部,所有 #include 语句的后面,添加如下语句#ifdef pr_fmt#undef pr_fmt#endif#define pr_fmt(fmt) "CUST_TAG: %d: %s line=%d: " fmt, \ current-&...原创 2020-03-26 18:56:42 · 316 阅读 · 0 评论 -
Linux 并发控制
灵魂拷问:什么叫并发?并发会导致什么不良后果?并发的场景都有哪些?怎么解决并发带来的问题?并发:多个执行单元同时并行被执行,访问同一块共享资源(硬件资源,软件资源(静态变量,全局变量等)),产生竞态。后果:结果与预期不一致场景:单核进程时间片耗完,轮到其他进程执行;进程被高优先级进程抢占;进程被中断抢占;中断被高优先级中断抢占;SMP多核CPU每个CPU内部...原创 2019-12-13 14:47:40 · 234 阅读 · 0 评论 -
Linux kernel常见函数
likely() 和 unlikely()if (likely(value)) 等价于 if (value)if (unlikely(value)) 等价于 if (value)总之,likely和unlikely的功能就是添加 cache的命中率,提高系统执行速度ps:如上是从网络上搜集的回答,暂且认为如此,后续再详细研究。参考资料:likely() and unlikely()L...原创 2019-11-05 22:38:26 · 374 阅读 · 0 评论 -
File System | Debug | 如何查看文件挂载的分区以及分区大小
说明:关键字mount/dev/block/xxx/dev/block/by-name{project}.xml1. adb shell 之后 mount 命令查看文件目录挂靠的块设备节点C:\Users\calm.xia>adb shellxxxproject:/ # mount/dev/block/dm-3 on / type ext4 (ro,seclabel,re...原创 2019-10-24 16:26:30 · 4200 阅读 · 1 评论 -
I2C | i2c bus driver
文章目录1. probe2. i2c_algorithm->master_xfer3. Interrupt processing说明:此片文档不具体介绍实现细节,关注在i2c bus(i2c controller)驱动的框架,以此对i2c bus驱动有个总体认知,具体的软件对i2c controller的操作细节依赖于具体芯片i2c控制器的是设计实现,一来绝大部分人很少涉及,二来需要有资源...原创 2019-08-28 22:45:24 · 653 阅读 · 0 评论 -
Linux中Workqueue机制分析
Linux中Workqueue机制分析 走入Linux的殿堂已经有一年有余了,在这里我想将Linux的 各种实现机制分析一遍,一方面对自己来说也是温故而知新,另一方面,促进大家的交流,最好能够给大家一些抛砖引玉的启迪。我是硬件出身,搞硬件已经好多年 了,从是专门软件开发也接近两年了,在这一段时间内我越发认为软硬件协同设计是未来发展的主流,软硬件的界限越来越模糊转载 2015-10-22 01:03:59 · 373 阅读 · 0 评论 -
android switch_dev
Android新增了一个switch处理模块,但是没有说明其具体用途,这里将对该模块进行详细的分析。switch是Android引进的一个新驱动,用于检测一些开关量。比如检测耳机插入和USB设备插入等。 Switch的构架原理switch模块包含两部分内容: 首先是switchclass,它在Android中是作为一个module来实现的,可以转载 2015-10-09 10:47:27 · 1540 阅读 · 0 评论 -
device tree基础
下面是一片比较好的device tree常用知识详解:http://blog.csdn.net/airk000/article/details/21345159原创 2015-11-01 16:15:25 · 441 阅读 · 0 评论 -
References
【网站】http://www.wowotech.net/蜗窝科技原创 2015-11-01 16:28:32 · 300 阅读 · 0 评论 -
POSIX 线程详解 3
通用线程:POSIX 线程详解,第 3 部分使用条件变量提高效率本文是 POSIX 线程三部曲系列的最后一部分,Daniel 将详细讨论如何使用条件变量。条件变量是 POSIX 线程结构,可以让您在遇到某些条件时“唤醒”线程。可以将它们看作是一种线程安全的信号发送。Daniel 使用目前您所学到的知识实现了一个多线程工作组应用程序,本文将围绕着这一示例而进行讨论。2 评论:Dani...转载 2015-10-08 14:47:26 · 210 阅读 · 0 评论 -
POSIX 线程详解 1
POSIX 线程详解一种支持内存共享的简捷工具POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段。在本系列中,Daniel Robbins 向您精确地展示在编程中如何使用线程。其中还涉及大量幕后细节,读完本系列文章,您完全可以运用 POSIX 线程创建多线程程序。10评论:Daniel Robbins (drobbins@gentoo.org), 总裁/CEO, G...转载 2015-10-08 14:32:17 · 307 阅读 · 0 评论 -
I2C | i2c_msg
文章目录i2c协议的规定,host和client的通信每次都是由host主动发起,而且每次发起都要事先发送client addr做寻址操作。一个i2c_msg 是Slave(i2c client)和Host(i2c controller)的一次单向数据传输。常见的Slave有Touchscreen,Sensor;i2c controller实际上就是SOC ARM上的一组i2c registe...原创 2019-08-16 20:53:10 · 6628 阅读 · 1 评论 -
I2C | 如何读 I2C 波形?
分析I2C时序波形时需要注意如下几点:I2C 发出字节的bit顺序是从高位-->低位。注意,这里有个很容易想当然犯错误的地方–正确看懂波形的方式是“波形是从左往右增加的,已发出的bit波形位置固定了不会移动,简单理解就是左边的波形是先发出来的,是高位,右边的波形是后发出来的,也就是低位。有些人错误的看波形的方式是"先发出的波形被发出的波形推着往前走"。Start / Restart 信...原创 2019-08-16 20:49:26 · 6142 阅读 · 1 评论 -
I2C All In One
文章目录深入理解I2C深入理解I2CI2C | i2c_msgI2C | 如何读 I2C 波形?原创 2019-08-16 20:54:21 · 143 阅读 · 0 评论 -
__set_bit()
将addr的第nr位置为1 假设*addr = 0, nr = 3;则执行结果为1000(二进制数)extern __inline__ int set_bit(int nr,long * addr){ int mask, retval; addr += nr >> 5; //(1) mask = 1 (nr & 0转载 2015-10-22 00:56:05 · 481 阅读 · 0 评论