- 博客(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
502
原创 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
1442
转载 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
355
转载 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
1224
转载 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
2341
转载 GCC如何编译内嵌汇编代码
内核代码绝大部分使用C 语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。 简单的内嵌汇编很容易理解 例: __asm__ __volatile__("hlt"); “__asm__”表示后面的代码为内嵌汇编,“asm”是“__a
2015-03-12 15:04:39
5230
转载 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
3516
原创 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
3895
转载 GNU内嵌汇编资料 .
一、格式 asm volatile (“asm code”:output:input:changed); //必须以‘;’结尾,不管有多长对C都只是一条语句 asm 内嵌汇编关键字 volatile 告诉编译器不要优化内嵌汇编,如果想优化可以不加 ANSI C规范
2014-06-16 14:57:29
666
转载 关于Buddy(伙伴)算法的讨论
对伙伴系统种的位图的作用没有搞的清楚 就是说:系统在确定一个块的伙伴块是否是空闲时,是在空闲链表种查找有无 伙伴块呢还是利用位图种的状态来判断, 总觉得是和位图有关,可是位图中的一位表示一对伙伴块的状态
2014-03-22 15:37:03
7564
转载 git使用简介
2.1 概念 2.1.1 取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。从当前目录初始化 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:$ git init初始化后,在当前目录下会出现一个名为
2014-03-20 15:03:05
862
转载 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
729
转载 避免物理内存碎片化
以前的项目碰到了buddy内存分配失败的情况,虽然当前可用内存和可回收内存还有很多,但是仍然无法满足分配,经过分析是物理内存碎片化导致申请连续物理内存失败。 当linux系统持续运行很长时间没有重新启动后,系统内持续的进行页面的分配和释放,系统空闲物理内存被使用的物理内存分割开,大块的连续物理内存为0,空闲页面只能满足小数量页面的分配,此时系统可能还有很多空闲页面,但是buddy系统无法满
2014-03-18 10:51:51
927
转载 KSM(Kernel Samepage Merging) 剖析:Linux 内核中的内存去耦合
简介:作为一个系统管理程序(hypervisor),Linux® 有几个创新,2.6.32 内核中一个有趣的变化是 KSM(Kernel Samepage Merging) 允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量。本文探索 KSM 背后的理念(比如存储去耦合)、KSM 的实现、以及如何管理 KSM。服务器虚拟化 虚拟化技术从上世纪 60 年代开始出现,
2014-03-17 16:00:10
900
转载 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
11255
转载 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
6825
转载 修改测试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
9916
转载 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
1641
转载 窥探 kernel --- 调度器发展史
本系列文章由张同浩整理编写,转载请注明出处:http://blog.youkuaiyun.com/muge0913/article/details/7563477调度器的主要工作是在所有 RUNNING 进程中选择最合适的一个。作为一个通用操作系统,Linux 调度器将进程分为了三类: 交互进程:此类进程有大量的人机交互,因此进程不断地处于睡眠状态,等待用户输入。典型的应用比如编辑器 vi
2013-11-14 16:49:19
822
转载 窥探 kernel --- 进程调度的目标,nice值,静态优先级,动态优先级,实时优先级,时间片
本系列文章由张同浩编写,转载请注明出处:http://blog.youkuaiyun.com/muge0913/article/details/7562133邮箱:muge0913@sina.com进程调度的目标:1、高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效。2、加强交互性能(interactivity):在系统相当的负载
2013-11-14 16:08:24
808
转载 图文详解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
1064
转载 Camera图像处理原理及实例分析
Camera图像处理原理及实例分析作者:刘旭晖 colorant@163.com 转载请注明出处BLOG:http://blog.youkuaiyun.com/colorant/主页:http://rgbbones.googlepages.com/ 做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像
2013-08-15 10:05:57
2367
转载 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
653
转载 V4l2 Capture Sequence
转自:http://blog.youkuaiyun.com/yili_xie/article/details/4803450V4l2CaptureSequence v4l2 操作实际上就是 open() 设备, close() 设备,以及中间过程的 ioctl() 操作。对于 ioctl 的调用,要注意对 errno 的判断,如果调用被其他信号中断,即 errno
2013-08-08 15:21:27
1113
转载 Linux 增加Zydas WiFi模块
在S3C2440开发上增加 USB WiFi 网卡,就可以通过无线上网。手头正好有一块现成的Zydas的WiFi网卡。试试无线通讯. 一.增加USB网卡驱动 Linux 2.6.29 加入Zydas 的驱动支持.动态模块形式.一般采用WiFi Zyda 2611的网卡,注意在内核中有一个ZB1201的无法驱动比较新的网卡,
2013-05-20 11:55:13
1014
转载 灰卡测白平衡使用方法
http://www.dtyx8.com/events_show.asp?id=470灰卡测白平衡使用方法 灰卡是精确检测曝光量的基准。层次丰富、色彩饱和的照片来自精准的曝光。如果拍摄场景的光线过亮或过暗,就可能导致曝光出现偏差。 灰卡能将复杂光线的场景一律平衡为18%的中性灰,通过测光表将灰卡的反射光记录下来,就能获得精确的曝光数值! 18%灰
2013-04-28 12:12:24
5242
转载 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
1346
转载 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
1187
转载 linux下vim命令详解
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令
2012-06-06 14:12:45
524
转载 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
10730
转载 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
624
转载 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
720
转载 简析Android对Linux内核的改动
简析Android对Linux内核的改动-(上)分类: Linux学习 Android编程 2011-07-31 16:222935人阅读 评论(16) 收藏举报 现在Android已经很火了,我的一个哥们儿上个月找到一个Android应用开发的职位,月薪就有6K了,羡慕啊。这里分析下Android的内核结构,主要介绍Android和Linux之间的关系,以备以
2012-02-06 13:58:45
596
转载 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
565
转载 Android Camera架构浅析
来自:http://blog.youkuaiyun.com/qikaibinglan/article/details/6088337Android Camera架构浅析 2010-12-21 09:13 2161人阅读 评论(0) 收藏 举报 1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)
2012-02-01 22:14:34
612
转载 [转] 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
644
转载 [转]基于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
1333
转载 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
487
原创 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
1785
原创 ARM MMU工作原理剖析
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。•共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、MMU的产生
2011-05-17 11:55:00
1680
systrace.zip
2020-06-02
跟我一起写Makefile
2011-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人