- 博客(256)
- 资源 (5)
- 收藏
- 关注
转载 rtmutex 的死锁检测
以为linux里死锁检测就只有rtmutex里用到一点。先个出rtmutex被阻塞的一个场景,这里直接给出简化后的代码:[cpp] view plaincopyint rtmutex_lock(struct rt_mutex *lock) { if (rt_mutex_cmpxchg(lock, NULL, current
2015-01-30 09:16:28
2578
转载 android中wifi原理及流程分析
在网上找的一篇好文章,分析的很详细,自己再加了些东西,图片有点大,不能完全显示,点击图像拖动鼠标直接查看图像。wifi相关的文件位置:WIFI Settings应用程序位于 packages/apps/Settings/src/com/android/settings/wifi/JAVA部分: frameworks/base
2014-12-03 17:46:35
1270
转载 采用Fuel Gauge可能出现的几种电量现象及解释
首先应该熟悉两个变量,bat_volt_check_point是UI上面显示的值。gFG_capacity_by_C,库仑计计算的电量值.也等于SOC的值.公式 DOD1 = DOD0 + (-Car/Qmax).DOD1对应当前的电量值.DOD0对应初始的电量值.Car 为t时间内, 流过Rfg电阻电流的电量.Qmax为电池的容量.下面几种情况会更新DOD0的值,
2014-10-23 11:04:26
5298
转载 MTK pump express 快速充电原理分析
在讲正文之前,我们先看一个例子。 对于一块电池,我们假设它的容量是6000mAh,并且标称电压是3.7V,换算成Wh(瓦时)为单位的值是22.3Wh(6000mAh*3.7V);普通的充电器输出电压电流是5V2A(10W),理想状态下充满这块电池需要2.23小时(22.3Wh/10W)。现在我们假设充电器调整输出电压电流为10V2A(20W),那么充满同样的一块电池需要1.115
2014-10-21 17:25:59
10042
1
转载 C++中的&引用符号全解
引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一
2014-10-13 14:23:39
1037
转载 C++ Vector 使用总结
注意,在使用前要包含vector对应的头文件:#includevector是同一种类型的对 象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。我们把vector称为容器,是因为它可以包 含其他对象。一个容器中的所有对象都必须是同一种类型的。我们将在第9章更详细地介绍容器。使用vector之前,必须包含相应的头文件。本书给出
2014-09-30 15:26:01
822
转载 c++中vector的用法详解-函数实现
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using name
2014-09-30 15:19:03
1544
转载 使用 ftrace 调试 Linux 内核,第 3 部分
ftrace 提供的工具函数ftrace 是 Linux 内核中提供的一种调试工具。使用 ftrace 可以对内核中发生的事情进行跟踪,这在调试 bug 或者分析内核时非常有用。本系列文章对 ftrace 进行了介绍,分为三部分。本文是第三部分,通过示例代码介绍如何在代码中使用 ftrace 提供的工具函数,以与 ftrace 交互。通过本文的讲解,读者可以在实际代码中使用
2014-09-29 16:58:50
2042
转载 使用 ftrace 调试 Linux 内核,第 2 部分
ftrace 使用ftrace 是 Linux 内核中提供的一种调试工具。使用 ftrace 可以对内核中发生的事情进行跟踪,这在调试 bug 或者分析内核时非常有用。本系列文章对 ftrace 进行了介绍,分为三部分。本文是第二部分,通过示例介绍了如何使用 ftrace 中的跟踪器,并对不同格式的跟踪信息进行了描述,同时还对如何使用 ftrace 调试指定内核模块进行了介
2014-09-29 11:21:36
1485
转载 使用 ftrace 调试 Linux 内核,第 1 部分-debugfs挂载和调试接口
概述ftrace 是 Linux 内核中提供的一种调试工具。使用 ftrace 可以对内核中发生的事情进行跟踪,这在调试 bug 或者分析内核时非常有用。本系列文章对 ftrace 进行了介绍,分为三部分。本文是第一部分,介绍了内核相关的编译选项、用户态访问 ftrace 的接口、ftrace 的数据文件,并对 ftrace 提供的跟踪器的用途进行了介绍,以使读者更好的了解和使
2014-09-29 11:21:06
3676
转载 ftrace使用
linux中大量使用函数指针钩子,导致阅读代码困难。比如想知道一个函数的调用路径,那么就只能用source insight之类的工具看代码了。有没有办法可以迅速获得调用关系的整体印象?ftrace是内核提供的一种调试工具,可以对内核中发生的事情进行跟踪。比如函数的调用,进程的切换,中断的开关等等。这里利用这个工具来跟踪函数的调用。 # cat /boot/config-2.6.36 | gre
2014-09-26 19:18:21
3474
转载 ftrace 简介
ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。Ftrace 由 RedHat 的 Stev
2014-09-26 19:17:27
884
转载 深入浅出 - Android系统移植与平台开发(十四) - Sensor HAL框架分析之四
Sensor本地封装类SensorDeviceSensorDevice是在本地代码中SensorService对Sensor设备的抽象类型封装,它封装了传感器硬件的硬件操作,该类继承了Singleton类,通过getInstance方法获得单例模式设备操作对象:@frameworks/base/services/sensorservice/SensorDevice.h
2014-09-25 16:32:58
797
转载 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
1.1 Sensor应用程序框架这部分对于上层写应用的朋友来比较熟悉,我们通过一个简单的应用来分析框架层和底层的实现。通常编写一个传感器的应用程序有以下步骤:l 通过调用 Context.getSystemService(SENSOR_SERVICE)获得传感器服务,实现返回的是封装了SensorService的SensorManager对象l 调用Senso
2014-09-25 15:58:07
728
转载 深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一
1. Sensor的概念Sensor即传感器,在当前智能手机上大量存在:G-Sensor、LightsSensor、ProximitySensor、TemperatureSensor等,其作为Android系统的一个输入设备,对于重视用户体验的移动设备来说是必不可少的。Sensor虽然是一个输入设备,但是它又不同于触摸屏,键盘,按键等这些常规的输入设备,因为Sensor的数据输入
2014-09-24 20:13:20
961
转载 深入浅出 - Android系统移植与平台开发(十三) - Sensor HAL框架分析之三
让我们来看看SensorManager的代码SensorManager框架层代码@frameworks/base/core/java/android/hardware/SensorManager.java[java] view plaincopypublic SensorManager(Looper mainLooper) {
2014-09-24 17:16:10
1183
转载 android timed output vibrator driver
#include #include #include #include #include #include #include "timed_output.h"#include #include #include #include #include #include #include #include #define VIB
2014-05-05 19:08:02
1143
转载 Git 的origin和master分析 push/diff/head
1、origin/master : 一个叫 origin 的远程库的 master 分支2、HEAD指向当前工作的branch,master不一定指向当前工作的branch3、git push origin 本地分支A : 远程分支B ---> push 本地分支A到远程库origin的分支B首先要明确一点,对git的操作是围绕3个大的步骤来展开的
2014-04-03 10:34:44
18388
1
转载 alarm
http://wenku.baidu.com/link?url=UGb127AVSXg0Q3NxCD59fQaFV28LmpX-RQ1vMZEpCGO2oPbRmmXfOumnmaOslPVjvqwfro9DbLk7bQ8Y9DI3TqLFSZUa3M37NtLjL3HFcLChttp://blog.csdn.net/pochuanpiao/article/details/770358
2014-03-05 20:22:45
682
转载 svn/git 冲突
1、在commit 时提示有一些文件发生了冲突,但这些文件自己确实没有改过,可能是编译时产生了问题;对于种不需要修改的发生了冲突,则可以用 revert 放弃修改。丢弃对一个文件的修改:$ svn revert foo.c reverted foo.c如果你希望恢复一整个目录的文件,可以使用--depth=infinity选项:$ Svn revert --depth
2014-03-05 20:21:28
5055
转载 Linux下解压 tar.xz 格式压缩文件
xz的用法为: xz [option]... [file]...而对应的操作有: -z, --compress Compress. This is the default operation mode when no operation mode option is specified and no other operation mode
2014-03-04 16:42:50
1153
转载 在安装时指定java环境变量
提示说“在此计算机中找不到 Java SE Development Kit (JDK),需要 JDK 6 或 JDK 5 才能安装 NetBeans IDE。请确保正确安装了 JDK,然后重新运行安装程序。您可以使用 --javahome安装程序参数来指定有效的 JDK 位置。”可是已经安装了jdk,安装出错NetBeans。想NetBeans, Eclipse, myEc
2014-03-04 16:40:01
1913
转载 svn 常用命令 status/log/commit/up
1.svn status [PATH...]别名:stat, st描述:输出WC中文件和目录的状态。如果WC提交,这些状态就会同步到库里。一般状态有 ' ' 没有修改'A' 新增'D' 删除'M' 修改'R' 替代'C' 冲突'I' 忽略'?' 未受控'!' 丢失,一般是将受控文件直接删除导致访问库:加上--
2014-02-28 14:17:07
7138
转载 eclipse调优
eclipse调优 一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善。 加快启动速度 1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让eclipse启动变慢了。(没设置时,等2-3s出现进度条,设置后直接出现进度条) 只要在eclip
2014-02-21 10:29:36
832
转载 eclipse正常启动的条件
在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。 PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存放Instance。
2014-02-21 10:29:06
1218
转载 迄今为止最优的Eclipse运行性能调优 ,含eclipse.ini
最近,Eclipse(Eclipse-JEE3.5)运行十分缓慢(可能插件安装过多),因此,得到了个机会调优一下,以便提高工作效率下图是未经任何调整eclipse的gc情况(使用jvisualvm命令,安装visual gc插件)从图中可以看出,仅启动过程就有38次young gc,11次full gc为了查看gc细节,在eclipse.ini中加入如下参数:-verbose:
2014-02-21 10:27:58
101326
1
转载 eclipse 优化 经常未响应解决办法
eclipse 优化 经常未响应解决办法 若显示提示时经常反应慢或未响应在Eclipse-Window-Preferences-Java-Installed JREs下添加JDK路径,添加后在已安装的jre中勾选新加的JDK, 最后效果如图所示。增加 -clean 选项。解释如下:http://www.eclipsezone.com/eclipse/forum
2014-02-21 10:26:59
67384
转载 自定义android模块不编译的问题
自己添加的android模块不编译的问题自定义模块需要添加编译指定PRODUCT_PACKAG环境变量我们在开发中,经常会碰到需要自己添加独立模块的时候,笔者以前也没太关心这个问题,以为写好Android.mk就可以了,其实还不是这么回事。把自定义的模块放在android顶层目录development下面,比如模块名字是libcsiJni,模块的Android.mk如下:
2014-02-21 09:24:26
7931
转载 使用mm/mmm 准备工作
source build/envsetup.sh在这个shell脚本中定义了 help, croot, m, mm, mmm等
2014-02-19 23:08:48
8591
转载 git/svn reset/revert 回滚到服务器上的某一个版本
Git:1、git log查找到要回滚的版本号,设为aldfjsajdfljsadf2、git reset --hard aldfjsajdfljsadfreset 会影响 commit aldfjsajdfljsadf 之后的commit都会被退回到暂存区revert是撤销某次操作,此次操作之前的commit都会被保留,貌似之后的也会被保留git revert
2014-02-19 22:04:48
43245
转载 kernel 编译错误 修改贴
1:Console input/output is redirected. Run 'make oldconfig' to update configuration.在kernel 配置文件中缺失了 CONFIG_MTK_MT6628_FM 项。编译 kernel log:**** Cleaning ****[: 1: mediatek/custom/out/ztenj7
2014-02-19 14:36:27
12014
转载 property_get/ property_set/ atoi
每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。 在系统初始化时,Android将分配一个共享内存区来存储的属性。这些是由“init”守护进程完成的,其源代码位于:device/system/init。“init”守护进程将启动一个属性服务。
2014-02-14 15:46:47
1082
转载 C++ Virtual函数
虚函数是C++中用于多态的机制。核心理念就是通过基类访问派生类定义的函数。基类的析构含糊都必须是virtual的虚函数只能借助于指针或者引用来达到多态的效果。前提B类继承与A类 且foo()为虚函数void bar(A *a){ a->foo();//被调用的是A::foo()还是B::foo() ?}如果a指向的是A类的实例,则A::foo()被调用,如果a
2014-02-14 15:44:50
608
转载 C++中const用法总结
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:const int nV
2014-02-14 15:44:08
615
原创 从另一个模块获取私有数据
kernel/drivers/media/video/v4l2-common.cvoid v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client,const struct v4l2_subdev_ops *ops){v4l2_subdev_init(sd, ops);sd->flags |=
2014-01-10 17:26:53
2438
转载 SPI时序详解
SPI时序详解 SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
2014-01-08 17:08:25
1746
转载 锐度
边缘增强经边缘增强后的图象能更清晰地显示出不同地物类型或现象的边界例如利用相关掩膜技术,将原图象(影像)拷制成一张正膜片和一张负膜片,并使两张不同性质的膜片精确重叠,在曝光冲印时,将两张膜片相互错动很小的距离,这样得到一张相应影像有稍许错位“镶边”的图象,其大部分影像正负抵消,而其边缘部分出现一亮线(或暗线),达到从背景中突出影象边界线的显示效果,使图像达到增强。在
2014-01-08 14:08:28
2980
slickedit v18 18.0.1.2 序列号 破解
2013-11-26
slickedit 2013 v18 win linux mac
2013-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人