11 2019 档案
摘要:1. 前言 本文继续“Linux电源管理(6)_Generic PM之Suspend功能”中有关suspend同步以及PM wakeup的话题。这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论。辩论的时间跨度和空间跨度可以持续很长,
阅读全文
摘要:概述 Healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给Framework层的BatteryService用以计算电池电量相关状态信息,BatteryServcie通过传递来的数据来计算电池电量显示,剩余电量,电量级别等信息,如果收
阅读全文
摘要:"Android Battery 架构" Android电源 android中和电源相关的服务有两个他们在 一个是 ,另一个是在目录powe下的 。 电源管理架构 Android电源管理主要通过Wakelock机制来管理系统的状态,整个android电源管理,可以分为四个层次:应用接口层(Power
阅读全文
摘要:i2c_msg标志位 路径:linux-2.6.38/include/linux/i2c.h I2C_M_IGNORE_NAK: 设置这个标志意味当前i2c_msg忽略I2C器件的ack和nack信号。 I2C_M_NOSTART: 设置这个标志意味当前i2c_msg不发送start信号。注意,其实
阅读全文
摘要:有的硬件芯片提供了一个个寄存器,供我们很好的操作i2c,但是,在用的时候,我们是不知道他到地是怎么操作的,下边,我就探讨下i2c中的start和restart的区别。 start是在scl是高电平的时候sda的一个下降沿来表示一个i2c的开始信号,到了i2c传输的内部,scl是低电平的时候,所有数据
阅读全文
摘要:理论部分 图的深度遍历和广度遍历都不算很难像极了二叉树的前序遍历和层序遍历,如下面的图,可以用右边的邻接矩阵进行表示,假设以顶点0开始对整幅图进行遍历的话,两种遍历方式的思想如下: 1. 深度优先遍历(depthFirstSearch—DFS) 由初始顶点开始,沿着一条道一直走,当走到走不动的时候,
阅读全文
摘要:一 图的定义 定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 在图中需要注意的是: (1)线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点(Vertex)
阅读全文
摘要:一、LK中亮屏流程 1. gcdb_display_init(),进行display初始化的起始地方; 2. oem_panel_select(),在这里去选择哪一款屏,也可以在这里添加新一款屏; 3. dsi_panel_init()把屏头文件中的配置信息拷贝到结构体中,并一些屏需要的配置; 4.
阅读全文
摘要:"电池的NTC功能是什么" 因为可充电电池在不断的循环充电和放电过程中可能会导致电池温度的过高,导致电池原始性能下降。为了保持电池性能,密切监测电池温度非常重要,NTC在充电电池组内部的合适应用中可以起到温度的监测、控制和补偿的使用。 使用NTC热敏电阻监测电池的温度,可以放心的控制锂电池或者镍氢电
阅读全文
摘要:"漫画,什么是外部排序" 还记得面试现场第一篇文章【面试现场】如何判断一个数是否在40亿个整数中?发出之后,最后蛋哥说把40亿个数先进行外部排序。有读者问到,内存无法一次性加载40亿个数,如何排序? 背景 西天取经的路上,一样上演着编程的乐趣..... (互联网侦察注:160亿字节大概是16G吧,2
阅读全文
摘要:知乎上有一个问题是这样的: 堆排序是渐进最优的比较排序算法,达到了O(nlgn)这一下界,而快排有一定的可能性会产生最坏划分,时间复杂度可能为O(n^2),那为什么快排在实际使用中通常优于堆排序? 昨天刚好写了一篇关于快排优化的文章,今天再多做一个比较吧。首先先看一个排序算法图: 排序方法| 平均情
阅读全文
摘要:原理: 快速排序,说白了就是给基准数据找其正确索引位置的过程. 如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾. 首先从后半部分开始,如果扫描到的值大于基准数
阅读全文