自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (2)
  • 收藏
  • 关注

原创 各性能稳定性问题总结systrace

帮忙抓下systrace: 用sdk中的systrace或者用android源码(external/chromium-trace/)中的都可以:python systrace.py --time=5 -o file.html gfx input view hal res dalvik sched freq idle mmc disk workq syncpython systrace.py --time=10 -o mynewtrace_10.html sched gfx view...

2020-06-02 10:58:10 444

原创 Native Crash .so crash分析方法

Native Crash是指,在用户空间的C/C++代码发生的abort、段错误、指令异常等crash问题。如果Native Crash发生在应用APK,则导致应用异常崩溃闪退,如果发生在系统关键进程则导致Android 系统重启。Native crash问题相对比java crash问题更难分析和定位。Native Crash问题的分析主要依赖Android tombstone 和coref...

2020-05-06 13:55:58 1098

转载 linux下vi命令大全

linux下vi命令大全进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :

2017-05-11 10:38:04 292

转载 android camera接口介绍

1.CameraAndroid的camera硬件抽象层(HAL)将更高层次的android.hardware中的camera框架层API与底层的camera驱动和camera硬件模块连接了起来。Camera子系统包括camera流水线上各个组件的实现,而camera HAL提供了这些组件的使用接口。注:camera HAL起着承上启下的作用。在camera HAL层实现中,芯片厂商一般

2017-02-10 19:20:34 1153

转载 Android内存分析和调优

目录[-]第一层 Procrank第二层 dumpsys meminfo第三层 adb shell showmap山水含清晖Android内存分析和调优(中)Dalvik heap分析和优化山水含清晖Android内存分析和调优(下)Native Heap分析和优化/other/dev分析和优化.Dex mmaps优化总结最近我们的android app占用了大量内存,于是领导安排

2015-10-22 11:06:49 2278

转载 GCC如何编译内嵌汇编代码

内核代码绝大部分使用C 语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。 简单的内嵌汇编很容易理解 例: __asm__ __volatile__("hlt"); “__asm__”表示后面的代码为内嵌汇编,“asm”是“__a

2015-03-12 15:04:39 5089

转载 arm-linux-objdump

原文地址:笔记 -- arm-linux-objdump" href="http://blog.sina.com.cn/s/blog_862af6480100tsf7.html" target="_blank">Linux 笔记 -- arm-linux-objdump作者:享受片刻寧靜的雙#arm-linux-objdump -j .text -S vmlinux vmlinux.txt

2015-03-05 15:13:22 3461

原创 Linux kernel 的一个panic问题定位

如下是一个kernel的panic的Oops和堆栈信息:panic info: PCis at __run_hrtimer+0x230/0x298[19816.115957] c0 LR is at__raw_spin_lock+0x2c/0x94[19816.115968] c0 pc :[]    lr :[]    psr: 20000193[19816.115974]

2015-01-09 17:26:18 3678

转载 GNU内嵌汇编资料 .

一、格式    asm volatile (“asm code”:output:input:changed);    //必须以‘;’结尾,不管有多长对C都只是一条语句        asm                 内嵌汇编关键字        volatile            告诉编译器不要优化内嵌汇编,如果想优化可以不加        ANSI C规范

2014-06-16 14:57:29 625

转载 关于Buddy(伙伴)算法的讨论

对伙伴系统种的位图的作用没有搞的清楚                                         就是说:系统在确定一个块的伙伴块是否是空闲时,是在空闲链表种查找有无         伙伴块呢还是利用位图种的状态来判断,                                         总觉得是和位图有关,可是位图中的一位表示一对伙伴块的状态

2014-03-22 15:37:03 7387

转载 git使用简介

2.1 概念 2.1.1 取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。从当前目录初始化 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:$ git init初始化后,在当前目录下会出现一个名为

2014-03-20 15:03:05 790

转载 Linux内核中内存分配函数

1.原理说明  Linux内核中采 用了一种同时适用于32位和64位系统的内 存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系 统中,用到了四级页表,如图2-1所示。四级页表分别为:  * 页全局目录(Page Global Directory)  * 页上级目录(Page Upper Directory)  * 页中间目录(Page Middle Direct

2014-03-19 10:00:52 676

转载 避免物理内存碎片化

以前的项目碰到了buddy内存分配失败的情况,虽然当前可用内存和可回收内存还有很多,但是仍然无法满足分配,经过分析是物理内存碎片化导致申请连续物理内存失败。 当linux系统持续运行很长时间没有重新启动后,系统内持续的进行页面的分配和释放,系统空闲物理内存被使用的物理内存分割开,大块的连续物理内存为0,空闲页面只能满足小数量页面的分配,此时系统可能还有很多空闲页面,但是buddy系统无法满

2014-03-18 10:51:51 893

转载 KSM(Kernel Samepage Merging) 剖析:Linux 内核中的内存去耦合

简介:作为一个系统管理程序(hypervisor),Linux® 有几个创新,2.6.32 内核中一个有趣的变化是 KSM(Kernel Samepage Merging)  允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量。本文探索 KSM 背后的理念(比如存储去耦合)、KSM 的实现、以及如何管理 KSM。服务器虚拟化     虚拟化技术从上世纪 60 年代开始出现,

2014-03-17 16:00:10 823

转载 crash部分命令用法

Setset [pid | taskp | [-c cpu] | -p] | [crash_variable [setting]] | -v1、设置要显示的内容,内容一般以进程为单位。Set pid 设置当前的内容为pid所代表的进程Set taskp 设置当前的内容为十六制表示的taskp任务的内容Set –p 设置当前的内容为panic任务的内容Set -v 显示cra

2014-03-12 09:45:07 10974

转载 Android dumpstate 工具解析

Frameworks/base/cmds/bugreport bugreport:启动dumpstatus服务,并通过socket连接,读取信息,并保持到stdout管道中frameworks/native/cmds/dumpstatusdumpstatus:android的相关信息,内核,进程,相关信息的主要实现地方。我们就frameworks/native/cmds/dumpy

2014-03-04 14:40:19 6566

转载 修改测试apk读出的CPU主频,及主芯片型号,手机型号、品牌、内部版本号、Android版本等

(1)修改Setup.c (kernel\arch\arm\kernel)#ifdef 1  seq_printf(m, "BogoMIPS\t: 1400.00\n\n");//改成想要显示的字符串#else  seq_printf(m, "BogoMIPS\t: %lu.%02lu\n\n",      per_cpu(cpu_data, i).loops_per_jiff

2014-02-23 14:38:42 9730

转载 meminfo vmstat procrank top等详解

meminfo命令:cat /proc/meminfo实例:MemTotal:         234312 kBMemFree:            3448 kBBuffers:              92 kBCached:            18052 kBSwapCached:        25556 kBActive:           

2014-02-11 10:54:28 1575

转载 窥探 kernel --- 调度器发展史

本系列文章由张同浩整理编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/7563477调度器的主要工作是在所有 RUNNING 进程中选择最合适的一个。作为一个通用操作系统,Linux 调度器将进程分为了三类: 交互进程:此类进程有大量的人机交互,因此进程不断地处于睡眠状态,等待用户输入。典型的应用比如编辑器 vi

2013-11-14 16:49:19 770

转载 窥探 kernel --- 进程调度的目标,nice值,静态优先级,动态优先级,实时优先级,时间片

本系列文章由张同浩编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/7562133邮箱:[email protected]进程调度的目标:1、高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效。2、加强交互性能(interactivity):在系统相当的负载

2013-11-14 16:08:24 763

转载 图文详解YUV420数据格式

图文详解YUV420数据格式YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则

2013-09-13 13:30:05 994

转载 Camera图像处理原理及实例分析

Camera图像处理原理及实例分析作者:刘旭晖  [email protected]  转载请注明出处BLOG:http://blog.csdn.net/colorant/主页:http://rgbbones.googlepages.com/ 做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像

2013-08-15 10:05:57 2258 1

转载 Linux之module_param()函数学习

一.module_param1.为什么引入  在用户态下编程可以通过main()来传递命令行参数,而编写一个内核模块则可通过module_param()来传递命令行参数. 2. module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:   /* Helper functions: type

2013-08-12 13:15:46 606

转载 V4l2 Capture Sequence

转自:http://blog.csdn.net/yili_xie/article/details/4803450V4l2CaptureSequence  v4l2 操作实际上就是 open() 设备, close() 设备,以及中间过程的 ioctl() 操作。对于 ioctl 的调用,要注意对 errno 的判断,如果调用被其他信号中断,即 errno

2013-08-08 15:21:27 1069

转载 Linux 增加Zydas WiFi模块

在S3C2440开发上增加 USB WiFi 网卡,就可以通过无线上网。手头正好有一块现成的Zydas的WiFi网卡。试试无线通讯.  一.增加USB网卡驱动   Linux 2.6.29 加入Zydas 的驱动支持.动态模块形式.一般采用WiFi Zyda 2611的网卡,注意在内核中有一个ZB1201的无法驱动比较新的网卡,

2013-05-20 11:55:13 968

转载 灰卡测白平衡使用方法

http://www.dtyx8.com/events_show.asp?id=470灰卡测白平衡使用方法   灰卡是精确检测曝光量的基准。层次丰富、色彩饱和的照片来自精准的曝光。如果拍摄场景的光线过亮或过暗,就可能导致曝光出现偏差。   灰卡能将复杂光线的场景一律平衡为18%的中性灰,通过测光表将灰卡的反射光记录下来,就能获得精确的曝光数值!   18%灰

2013-04-28 12:12:24 4828

转载 YUY2(YUV) 与 RGB 格式图片的相互转换 以及 基于YUY2(YUV)的blending

YUY2(YUV) 与 RGB 格式图片的相互转换 以及 基于YUY2(YUV)的blendingYUY2经常用于电视制式以及许多摄像头的输出格式.而我们在处理时经常需要将其转化为RGB进行处理,这里简单介绍下YUY2(YUV)与RGB之间相互转化的关系:http://msdn2.microsoft.com/en-us/library/ms893078.aspx

2013-04-18 09:19:51 1262

转载 Android利用tcpdump抓包

Android利用tcpdump抓包Instructions http://source.android.com/porting/tcpdump.htmlSource Code and Documents http://www.tcpdump.org/ Compiled Binary Download http://www.strazzere.com/android/t

2012-09-12 15:14:13 1144

转载 linux下vim命令详解

高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx     开始记录宏,并将结果存入寄存器xq     退出记录模式@x     播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令

2012-06-06 14:12:45 504

转载 Linux下patch打补丁命令实例详解

patch此命令用于为特定软件包打补丁,他使用diff命令对源文件进行操作。基本命令语法:patch [-R] {-p(n)} [--dry-run] p:为path的缩写。n:指将patch文件中的path第n条’/’及其左边部分取消。-R:卸载patch包。--dry-run:尝试patch软件,并不真正修改软件。使用实例:/home/s

2012-05-23 11:17:08 10606

转载 ubuntu下vim配置使用

vim比vi的功能强多了,也好用多了。一直就用vim。                                           配置vim注:只对各个用户在自己的当前目录下的.vimrc修改的话,修改内容只对本用户有效,要想全部有效,可以修改/etc/vim/vimrc.1.apt-get install vim-full2.设置/etc/vim/vimrc加上下面

2012-04-27 10:08:18 604

转载 Linux驱动的platform机制 .

Linux驱动的platform机制分类: Linux学习 2011-11-10 22:56 189人阅读 评论(0)收藏 举报     最近在看SPI、I2C这样简单点的总线驱动程序,从Linux2.6起,内核引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。现在Linux中大部分的设备驱动都可以使用这套机制,总线为pl

2012-02-06 16:15:22 693

转载 简析Android对Linux内核的改动

简析Android对Linux内核的改动-(上)分类: Linux学习 Android编程 2011-07-31 16:222935人阅读 评论(16) 收藏举报     现在Android已经很火了,我的一个哥们儿上个月找到一个Android应用开发的职位,月薪就有6K了,羡慕啊。这里分析下Android的内核结构,主要介绍Android和Linux之间的关系,以备以

2012-02-06 13:58:45 567

转载 Android内核和驱动篇-Android内核介绍

http://www.easyandroid.comhttp://www.easyandroid.com/bbs/viewthread.php?tid=64节选自EasyAndroid.com原创图书,敬请期待已经有一些的文章介绍Android内核了,本系列篇将从Linux内核的角度来分析Android的内核,希望给初学者提够有用的信息。本章将简单的介绍Android内核的全貌,起

2012-02-04 23:06:42 538

转载 Android Camera架构浅析

来自:http://blog.csdn.net/qikaibinglan/article/details/6088337Android Camera架构浅析 2010-12-21 09:13 2161人阅读 评论(0) 收藏 举报 1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)

2012-02-01 22:14:34 585

转载 [转] Linux内核启动中的驱动初始化顺序

link 基于这篇文章做了些修改Linux内核为不同驱动的加载顺序定义不同的优先级,见下面的宏: include\linux\init.h #define pure_initcall(fn)   __define_initcall("0",fn,1)#define core_initcall(fn)   __define_initcall("1",fn,1)#define

2011-12-18 11:14:39 612

转载 [转]基于Linux的v4l2视频架构驱动编写

from:http://www.linuxidc.com/Linux/2011-03/33022.htmv4l2架构入门其实并不是很难,高级的我还没资格说,想当初我刚开始看的时候,也是感觉超级难啊,因为没有抓住体系,对整体没有认识,所以我就花了两天时间天天研究那几篇文章和程序程序属这两篇文章最为经典了:http://www.linuxidc.com/Linux/2011-03/33

2011-12-17 23:00:18 1280

转载 Yaffs 文件系统分析

1 Yaffs文件系统结构1.1 简介1.1.1 应用场合        Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量的NAND FLASH芯片。Yaffs文件系统有些类似于JFFS/JFFS2文件系统,与

2011-11-12 18:58:04 465

原创 Pascal 错误信息一览

<br />原文:http://moonight.yculblog.com/post.1066500.html<br />  <br />错误代码及错误信息                                       错误释义<br />error  1: Out of memory                                  内存溢出<br />error  2: Identifier expected                            缺标识符<

2011-05-22 09:29:00 1719

原创 ARM MMU工作原理剖析

嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。•共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、MMU的产生

2011-05-17 11:55:00 1569

systrace.zip

在androidq上的systrace包,这个是在执行sys trace的时候,配合python执行的包,在windows下运行,需要先安装python.

2020-06-02

跟我一起写Makefile

概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个 Shell脚本一样,其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。 make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的 make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。 现在讲述如何写makefile的文章比较少,这是我想写这篇文章的原因。当然,不同产商的make各不相同,也有不同的语法,但其本质都是在 “文件依赖性”上做文章,这里,我仅对GNU的make进行讲述,我的环境是RedHat Linux 8.0,make的版本是3.80。必竟,这个 make是应用最为广泛的,也是用得最多的。而且其还是最遵循于IEEE 1003.2-1992 标准的(POSIX.2)。 在这篇文档中,将以C/C++的源码作为我们基础,所以必然涉及一些关于C/C++的编译的知识,相关于这方面的内容,还请各位查看相关的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。

2011-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除