- 博客(60)
- 资源 (7)
- 收藏
- 关注
转载 linux下的内核测试工具——perf使用简介
摘要:Perf是Linux kernel自带的系统性能优化工具。Perf的优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature。pef可以用于查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。本文来源:http://blog.csdn.net/trochiluses/article/details/10
2014-08-27 21:06:03 972
转载 借助loop device与losetup命令制作硬盘镜像
1,创建镜像文件 用如下命令创建镜像文件sdb.img,bs指定block大小,镜像文件大小为bs*count dd if=/dev/zero of=sdb.img bs=512 count=163842,用losetup命令将生成的镜像文件与loop device设备关联 用如下命令将sdb.img镜像文件与/dev/lo
2014-08-22 15:58:38 696
转载 Linux驱动开发常用调试工具-------之devmem
在Linux开发中着实用到的调试工具并不是很多。devmem的方式是提供给驱动开发人员,在应用层能够侦测内存地址中的数据变化,以此来检测驱动中对内存或者相关配置的正确性验证。 devmem2使用方法: devmem2 { address } [ type [ data ] ] address : 物理地址
2014-07-28 20:52:06 674
原创 patch
To revert a previously applied patch, use the -R argument to patch. 48 So, if you applied a patch like this:
2014-07-12 17:12:45 591
转载 Linux内核构建系统之一
要想学习Linux内核,特别是要想通过去hacking内核代码来找到您手头问题的答案,那你通常就需要先有一些基础知识,包括操作系统的原理、实际hacking所需要的工具使用、Linux内核构建系统的基本构成与基本运作原理等等。而Linux内核构建系统就是前述第三类知识中比较基础的部分。在整个Linux的开发生态中,处于不同位置的人要求掌握内核构建系统的程度也不同。作为驱动程序开发人员来讲,只要求会
2014-07-11 15:50:49 591
原创 make help
make helpCleaning targets: clean - Remove most generated files but keep the config and enough build support to build external modules mrproper - Remove all generated fil
2014-07-09 14:09:44 949
转载 ftrace 简介
ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。Ftrace 由 RedHat 的 Stev
2014-07-09 11:16:51 538
转载 Linux之IRQ domain
概述Linux使用IRQ domain来描述一个中断控制器(IRQ Controller)所管理的中断源。换句话说,每个中断控制器都有自己的domain。我们可以将IRQ Domain看作是IRQ Controller的软件抽象。这里所说的“中断控制器”,不仅指硬件上实际存在的中断控制器,也可以是一个“虚拟”的中断控制器。例如,假设我们有一块CPU,它有多个GPIO Pin可以作为外部中断
2014-07-07 17:56:22 1438
转载 获取root权限及破解原理分析
现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易。但是你思考过root破解的原理吗?root破解的本质是什么呢?难道是利用了Linux kernal的漏洞吗?本文将简单对root的破解原理进行分析。网上很多root教程所使用的都是rageagainstthecage程序,今天下载了rageagainstthecage.c源
2014-07-05 16:33:38 1471
转载 采用Fuel Gauge可能出现的几种电量现象及解释
首先应该熟悉两个变量,bat_volt_check_point是UI上面显示的值。gFG_capacity_by_C,库仑计计算的电量值.也等于SOC的值.公式 DOD1 = DOD0 + (-Car/Qmax).DOD1对应当前的电量值.DOD0对应初始的电量值.Car 为t时间内, 流过Rfg电阻电流的电量.Qmax为电池的容量.下面几种情况会更新DOD0的值,
2014-07-03 14:06:12 1296
转载 Linux __setup解析
__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下:#define __setup(str, fn) \__setup_param(str, fn, fn, 0)#define __setup_param(str, unique_id, fn, early) \static char __setu
2014-07-03 13:58:17 505
转载 Android最佳实践之:StrictMode介绍
【IT168技术 】最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些不规范和不好的代码。 StrictMo
2014-07-02 14:26:19 482
转载 linux notifier
Linuxnotifier技术内核通知链介绍(引用网络资料):在linux内核系统中,各个模块、子系统之间是相互独立的。Linux内核可以通过通知链机制来获取由其它模块或子系统产生的它感兴趣的某些事件。例如,可以通过通知链来获取某总线上的设备增加、删除情况,来动态添加和卸载dev文件设备。Linux内核中包含四种类型通知链:Atomic notifierchains
2014-06-16 17:06:51 567
转载 git 修改commit
当你不小心,写错了提交的注视/信息,该如何处理呢。理论上,SCM是不应该修改历史的信息的,提交的注释也是。 不过在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息.但是如果你已经push过了,那么其历史最后一次,永远也不能修改了。 我使用git commit --amend已经push过的,截图如下,我那个"fixes #3"永远的在版本历史中了。
2014-05-27 14:55:29 501
转载 用 Addr2line 将函数地址解析为函数名
原文链接:http://www.ibm.com/developerworks/cn/linux/l-graphvis/ Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。这种功能对于将跟踪地址转换成更有意义的内容来说简直是太棒了。要了解这个过程是怎样工作的,我们可以试验一个简单的
2014-05-27 13:24:08 659
转载 linux 电源管理驱动编写
执行流程驱动结构1) 内核提供的接口struct power_supply 在文件 include\linux\power_supply.h 中2) 提供给用户的接口sys/class/power_supply通过 drivers\power\power_supply_core.c 中的int po
2014-05-19 14:14:47 2630
转载 USB port 如何识别不同的Charger类型
基于Qualcom 8960/8921平台一,软件分析1. USB charger types & Power supply typesUSB_INVALID_CHARGER Invalid USB charger.USB_SDP_CHARGER Standard downstream port
2014-05-16 19:06:05 1540
转载 The basics of USB battery charging: a survival guide
Table of contentsIntroductionAn array of power sourcesDetecting the source typeUSB connection terminologyPort detecting and self-enumerating chargerAdding port detectionOther charge stra
2014-05-16 15:14:38 8763
原创 BC 1.2 模式(Battery Charging Specification 1.2)
SDP: Standard Downstream Port 标准下行接口,此即可哦
2014-05-16 14:42:24 5103
转载 垃圾,Rubbish? Garbage? Trash?
我以前学的是英式英文,知道Rubbish是垃圾的意思,后来知道Garbage也是垃圾的意思,但是不知道其二者有什么区别。前几年作为领队住进了美国当地人的家里,问Hostmother在哪里扔垃圾,才知道现在的美国人是用Trash来表达垃圾。 今天在出差回广州的飞机上,捧读张北海《天空线下》一书,无意中得知了中文中泛指所有无用之物的垃圾一词在英文中的多种表达方式。书中第17
2014-05-16 09:52:24 1963
转载 Battery Charging Specification, Revision 1.2, December 7, 2010 中文
Battery Charging SpecificationRevision 1.2December 7, 2010Li,Guanglei2014.04.03 Rev0.1转载请注明转自:http://blog.csdn.net/liglei1. Introduction 第一章 简介1.1 Scope 适用范围规范定义了设备
2014-05-15 11:24:22 1255
转载 从github下载某个git库的4种方法
以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接拷贝的。法一:不用github的账号,打开这个库在github上的主页,运行下面命令即可read only运行命令$git clone https://github.com/jenkinsci/gerrit-trigger-plugin.git下面的三种方法都要先在githu
2014-05-08 17:08:19 631
转载 InitcallMechanism/HowItWorks
Armed with all of the above information, we're now ready to understand how the Linux kernel's initcall mechanism works. In fact, if you've understood most of what has been said up to this point, you a
2014-05-08 16:01:43 618
转载 cdecl、stdcall、fastcall函数调用约定区别
在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么
2014-05-07 11:22:32 501
转载 C语言宏定义##连接符和#符的使用
C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP
2014-05-07 10:38:09 520
转载 Android - 反编译android apk文件
主要目的: 学习优秀的软件设计,解决封闭包特定问题邪恶的做法:去除广告,修改别人的软件包名,重新打包发布。有争议的: 中文汉化注意 请遵循Google相关协议和相关法律法规反编译apk工具目前有几种工具:smalidedexerdexdumpapktooldex2jar + jd-gui关于smali的使用,请参考jserv的http://jserv.blo
2014-04-20 16:13:04 961
转载 recovery汉化实现
仅当作学习笔记。步骤:1.制作字库首先制作汉字的图片字库,可使用bitmap font generator软件制作,然后用利用GIMP图片编辑器把图片字库转换为C源文件,最后利用得到的C文件与minui/mkfont.c文件一起编译,执行后就会得到字库头文件。注意修改结构体名以及相应cwidth和cheight(字符长宽)。2.修改代码用刚才制作的字库头文件
2014-04-19 21:00:03 1001
转载 Android OTA增量包update.zip的生成
Android OTA增量包update.zip的生成 在上面的过程中生成的update.zip升级包是全部系统的升级包。大小有80M多。这对手机用户来说,用来升级的流量是很大的。而且在实际升级中,我们只希望能够升级我们改变的那部分内容。这就需要使用增量包来升级。生成增量包的过程也需要上文中提到的ota_from_target_files.py的参与。
2014-04-19 20:45:54 3517
转载 浅析android应用增量升级
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 很久没有更新博客了,真是堕落啊,几次想提起笔,却总是被各种琐事耽搁,以后会多写文章记录点滴。背景 随着android应用体积的不断增大,以及应用版本发布的不断更迭,用户的升级成了一个问题,google也意识到不断更新应用对用户流量的损耗,在Google I/O 上提及
2014-04-18 16:45:21 622
转载 android APK签名汇总整理 (其实升级包update.zip也是这么签名的)
一、签名作用1.发送者的身份认证:由于开发商可能通过使用相同的 Package Name 来混淆替换已经安装的程序,以此保证签名不同的包不被替换。2.保证信息传输的完整性:签名对于包中的每个文件进行处理,以此确保包中内容不被替换。3.防止交易中的抵赖发生, Market 对软件的要求。原理:不同的程序公钥不同,实质是公钥不同即认为是不同的程序。二、签名过
2014-04-17 16:25:19 3546
转载 keystore文件转换格式为pk8+x509.pem
android 一般除了使用jarsigner签名 还有使用signapk 后者位于android源码 前者位于jdk中。两者使用的文件格式不同前者使用JKS 后者使用公钥+私钥 是分开的第一步 先v把keystore文件转换为pkcs12格式[java] view plaincopykeytool -importkeys
2014-04-17 15:41:33 1266
转载 常见的数字证书格式
cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem) p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt PEM-encoded message: .pem
2014-04-17 15:10:06 915
转载 keystore 介绍
Keytool 是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。 Keytool 把钥匙和证书储
2014-04-17 15:05:28 550
原创 感觉GWT碉堡了,搞web都不用学js了,全部用java搞定前后端
http://baike.baidu.com/link?url=xVB-yjRk_ClLSio5GchO-T50_oBhSbAcwVxl0jE_khZy1pJ-Ii3Zs5fSceucehOs
2014-04-17 09:49:42 1338
转载 Add new device
Add the configuration files for the new device mydevice of the company mycompany.Create AndroidProducts.mkmkdir -p device/mycompany/mydevicenano device/mycompany/mydevice/AndroidProducts.mkP
2014-04-16 10:33:35 1323
转载 理解 Android Build 系统
简介: Android Build 系统是用来编译 Android 系统,Android SDK 以及相关文档的一套框架。众所周知,Android 是一个开源的操作系统。Android 的源码中包含了许许多多的模块。 不同产商的不同设备对于 Android 系统的定制都是不一样的。如何将这些模块统一管理起来,如何能够在不同的操作系统上进行编译,如何在编译时能够支持面向不同的硬件设备,不同的编译类型
2014-04-15 21:33:32 696
转载 Android编译选项eng、user、userdebug的区别
eng:debug 版本user: release 版本userDebug版本:部分debug版本 要了解Android编译选项eng、user和userdebug的区别,需先了解下LOCAL_MODULE_TAGS这一Android.mk文件里的配置项,一般配置形式为LOCAL_MODULE_TAGS := user eng optional test这
2014-04-11 17:21:59 733
湖北工业大学 查分软件
2011-06-23
数据结构--课程设计(多种排序算法 有界面)
2010-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人