- 博客(58)
- 资源 (4)
- 收藏
- 关注
转载 各类分析函数调用关系图的工具
【转】各类分析函数调用关系图的工具calltree 2.3 http://mirror.lzu.edu.cn/software/calltree/calltree-2.3.tar.bz2 gprof 2.18.0.20080103 在ubuntu/debian下直接安装即可 http://citeseer.ist.psu.edu/gr
2012-11-30 18:43:13 3086
转载 谁动了我的cpu——oprofile使用札记
谁动了我的cpu——oprofile使用札记引言cpu无端占用高?应用程序响应慢?苦于没有分析的工具?oprofile利用cpu硬件层面提供的性能计数器(performance counter),通过计数采样,帮助我们从进程、函数、代码层面找出占用cpu的"罪魁祸首"。下面我们通过实例,了解oprofile的具体使用方法。 常用命令使用oprofile进行cpu使用
2012-11-30 16:19:58 1208
转载 利用Oprofile对多核多线程进行性能分析
杨小华在对应用程序不断调优的过程中,除了制定完备的测试基准(Benchmark)外,还需要一把直中要害的利器——性能分析工具。 根据工具的复杂度和所提供的功能,可以将性能工具分为两个层次: 基本的计时工具在普通生活中,秒表是最简单的计时工具。根据该思想,可以将计时函数放在代码的任意位置并多次调用,这样就可以测量出整个应用或者某一部分的运行时间。这种分析方
2012-11-30 15:39:22 1378
转载 oProfile简介
oProfile OProfile是Linux内核支持的一种性能分析机制。[1] 它在时钟中断处理入口处建立监测点,记录被中断的上下文现场,由配套的用户态的工具oprof_start负责在用户态收集数据,opreport则分析数据并给出分析报告。[1] Oprofile 是用于 Linux 的若干种评测和性能监控工具中的一种,它可以工作在不同的体系结构上
2012-11-30 14:39:28 1223
转载 S3c2410_SDIO_调试笔记
一:SDIO简介 在介绍SDIO原理前,还是先来点SDIO知识的普及工作吧!新兴的消费性电子产品不仅要求大容量,高速,而且要求数据的保密性。因此,美国MEI公司,美国SanDisk 公司,日本Toshiba 公司,组成联合小组推出SD Card协议规范。该协议规范定义了SD Memory Card和SDIO Card。我们平常所说的SD卡即SD Memory Card(Secur
2012-11-29 22:22:02 9179 1
转载 oprofile 使用之四(注意事项---灰常重要)
1.在文件系统\etc下创建符号链接 ln –sf /proc/mounts mtab 。同时确保文件系统中存在如下共享库:libdl.so.2、libstdc++.so.6、libm.so.6、libgcc_s.so.1、libc.so.6。2.由于Oprofile编译时采用的是绝对路径,在编译时设置的安装路径必须与嵌入式平台上运行时的路径一致。可以复制/mnt/oprofile/文件夹
2012-11-29 17:38:49 1157
转载 oprofile 使用之三(run 使用时间采样)
经历了上述的失败,只能走第2条路,时间采样。 1.修改opcontrol脚本加载驱动的参数,搜索modprobe oprofile 修改为 modprobe oprofile timer=1 2.pcontrol --init 插入oprofile.ko驱动 挂载oprofilefs 3. opcontrol --no-vmlinux --setup
2012-11-29 17:38:10 1594
转载 oprofile 使用之二(run 使用事件采样)
oprofile 是 Linux 平台上的一个功能强大的性能分析工具, 支持两种采样(sampling)方式:基于事件的采样(event based)和基于时间的采样(time based)。 基于事件的采样是oprofile只记录特定事件(比如L2 cache miss)的发生次数,当达到用户设定的 定值时oprofile 就记录一下(采一个样)。这种方式需要CPU 内部有
2012-11-29 17:37:28 1249
转载 oprofile 使用之一(build)
最近公司作新项目,在老的板子上跑着感觉异常的沉重,arm1176运行我们的程序有点不堪重负,于是产生了强烈的优化想法。 老大给机会让我研究一下gprof && oprofile 一开始搞gprof的过程稍候会补上。 后来参加了一次hello gcc 的活动,那里那些作编译器的推荐使用oprofile,因为gprof只是针对应用层的分析,而oprofile是通过硬件(CP
2012-11-29 17:36:50 1082
转载 oprofile整理
前序:在网上搜资料的时候,经常会看见comcat关于龙芯的文章,对其的借鉴尤多,为了向其学习,本打算以后所有ID一 律更名为comeagle,不过貌似这个称号太长了~~ 大家有什么好点的名字,多多提意见! oprofile起源于John Levon (Victoria U of Manchester)的一篇硕士论文,最初它以DCPI(DEC Continuous Pro
2012-11-29 17:32:32 839
转载 使用Oprofile分析性能瓶颈--简单例子
1. oprofile简介oprofile 是 Linux 平台上的一个功能强大的性能分析工具, 支持两种采样(sampling)方式:基于事件的采样(event based)和基于时间的采样(time based)。基于事件的采样是oprofile只记录特定事件(比如L2 cache miss)的发生次数,当达到用户设定的 定值时oprofile 就记录一下(采一个样)。这种方式
2012-11-29 17:31:45 1808
转载 oprofile 使用步骤 测试程序中各函数运行时间----步骤
ophelp: 列出所有支持的事件。/oprofile-0.9.6/utils opcontrol:设置需要收集的事件。./utils/opcontrol opreport: 对结果进行统计输出。./pp/opreport opannotate:产生带注释的源/汇编文件,源语言级的注释需要编译源文件时的支持。./pp/opannotate opstack: 产生调用图profile
2012-11-29 17:31:04 3938 1
转载 使用oprofile查找性能瓶颈--错误及解决
1>确定以下内核选项已选定:CONFIG_OPROFILECONFIG_X86_LOCAL_APICCONFIG_X86_IO_APICCONFIG_PCI_IOAPIC2> oprofile 命令opcontrol --init #加载模块 opcontrol --vmlinux=/path/vmlinux #是否对k
2012-11-29 14:59:14 2682
转载 Linux 在海思3516上移植Oprofile----最新3.2虚拟上编译出错及解决办法
最近由于项目需求,需要将Oprofile移植到海思3516平台上。Oprofile是一款比较好用的开源的性能分析工具。它通过采样CPU来计算程序中每个部分占用的时间。应该说是比较准确的。在安装oprofile之前,需要保证系统支持oprofile。即在系统编译内核的时候要将一下两项勾上make menuconfigGeneral setup --->[*] Profilin
2012-11-29 13:15:08 3815
转载 ./autogen.sh: line 44: libtoolize: command not found
./autogen.sh + aclocal+ libtoolize --copy --force./autogen.sh: line 44: libtoolize: command not found是因为缺少libtool软件包make 时 出现的错误configure: creating ./config.status cd && /bin/sh ./co
2012-11-29 11:21:33 42982 1
转载 Linux下运行OProfile进行系统性能分析
作者:ARM-WinCE 具体内容开始之前,先说点缘由。我不用WinCE已经很久了,呵呵,目前公司的项目都是基于Linux/Android,所以也开始在Linux上面做开发。我在接触WinCE之前就做Linux驱动,后来改做WinCE或者说主要做WinCE,但断断续续的接触Embedded Linux,所以写了大量的WinCE博客。现如今风水轮流转,以后要以Linux/Androi
2012-11-29 10:37:15 1111
转载 linux 实时时钟(RTC)驱动
这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rtc实时时钟的作用和编程接口,分别介绍了老的rtc接口和新的rtc类架构。并给出了一个测试rtc驱动的程序。 linux 实时时钟(RTC)驱动 翻译:窗外云天ya
2012-11-28 18:53:43 1072
转载 IS_ERR
像struct class *cls = class_create();这种语句,其中返回的指针值并不行kmalloc一样这么简单,只判断是否为NULL就可以了,内核是返回其错误值。那么我怎么来判断它呢,总不能用if()来将每个错误例出来吧,这里我们的IS_ERR()宏就发挥作用了。先看源代码,再讲原理,看看内核中的巧妙设计思路。/* include/linux/err.h *
2012-11-28 17:52:12 805
转载 基于 mini2440 电阻式触摸屏(四):mini2440触摸屏驱动分析
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-linux-4.4.3主控芯片 :S3C2440开发板 :mini
2012-11-28 09:46:17 737
转载 基于 mini2440 电阻式触摸屏(三):Linux输入子系统(InputSubsystem)
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-linux-4.4.3主控芯片 :S3C2440开发板 :mini
2012-11-28 09:45:38 809
转载 基于 mini2440 电阻式触摸屏(二):S3C2440 电阻式触摸屏接口、内部ADC结构
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-linux-4.4.3主控芯片 :S3C2440开发板 :mini
2012-11-28 09:45:00 809
转载 基于 mini2440 电阻式触摸屏(一):电阻式触摸屏工作原理
参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html==========================================================开发环境编译系统 :fedora9编译器 :arm-linux-4.4.3主控芯片 :S3C2440开发板 :mini
2012-11-28 09:44:27 874
转载 S3C2410的触摸屏控制
(1).基础知识要正确使用触摸屏,首先就要正确获取触摸屏的坐标。上一节我们已经介绍了触摸屏的硬件原理,了解到,需要分时给触摸屏的X层或Y层外加电压,再通过测量触点电压得到触点坐标。那么触摸屏控制器的作用就是要实现为触摸屏的X层或Y层分时提供电压,同时还要获取触点电压,并通过模数转换器(ADC)将这个电压模拟量换成数字量。1.1 S3C2410的ADC及触摸屏接口原理
2012-11-28 09:42:29 2116
转载 MEMS之重力加速计mma7660与陀螺仪及其样例驱动
原文地址::http://bbs.eeworld.com.cn/thread-244988-1-8.html MEMS之重力加速计mma7660与陀螺仪及其样例驱动 这两天调好了3轴g-sensor ,mma7660, 可以用了. 倾斜晃动或改变板子的方向, mma7660就会产生中断, 并给出当前板子的姿态(水平/垂直, 上下,左右等). 1. 重力加速度计 mm
2012-11-27 15:48:28 1774
转载 触摸屏驱动程序分析及其在BSP上的添加
注:我的硬件平台是Tiny6410,触摸屏部分把默认的一线触摸改成了标准的四线触摸,硬件上就是把屏幕背面四个零欧电阻R34/R35/R36/R37取了,把取了的零欧电阻焊接到R28/R29/R30/R31。这样,软件上就可以用内核自带的触摸屏驱动了。一、触摸屏驱动移植与tslib移植部分(一). 触摸屏驱动移植 1. Kconfig修改arch/arm/m
2012-11-27 14:15:43 1921
转载 S3C2410驱动分析之ADC通用驱动
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz内核版本:2.6.36源码路径:arch/arm/plat-samsung/adc.c 在Linux-2.6.36中,提供了一个S3C2410的ADC通用驱动模块,定义在arch/arm/plat-samsung/adc.c文件中。用户要使用ADC,可以使用该通用驱动模块提供的接口进行
2012-11-27 11:28:30 1078
原创 linux内核移植到tiny6410(1)
话说生活实在无聊,无聊的我只剩下学习了。好吧。手里有一块儿6410的板子闲置着,不能浪费啊。就活动活动把linux内核移植上去,顺便再把驱动过一遍。 内核里有一个6410的smdk了,本来不想直接使用的,但是已经提供了,我就先省点儿事儿,回过头来再研究自己从头到尾自己构建板级结构。 bootloader使用的是u-boot,以前移植过,现在没有心情再次移植一遍,
2012-11-25 16:14:02 2594
转载 dm9000网卡驱动移植 在mini6410上的连接 电气特性
#define CONFIG_DM9000_BASE 0x20000300#define DM9000_IO 0x20000000#define DM9000_DATA 0x20000004这几个数值代表的地址是从哪里得到的,我翻了MINI2440的原理图和S3C2440的芯片手册没看懂从哪里找网卡的地址,请老师指
2012-11-25 12:28:16 2627 1
转载 Dynamic memory allocation example
How to use dynamic memory allocationIn the Simple memory locking example is explained that all memory must be allocated and claimed, for the entire lifetime of the RT-application, at startup time,
2012-11-24 10:21:39 1141
转载 电源管理之regulator机制流程
电源管理芯片可以为多设备供电,且这些设备电压电流有所同。为这些设备提供的稳压器代码模型即为regulator。下面通过下面三个过程分析regulartor供电机制:1.分析regulator结构体2.regulator 注册过程3.设备使用regulator过程一.分析regulator结构体Regulator模块用于控制系统
2012-11-23 15:08:12 7391
转载 Linux块设备驱动程序原理
1.4 块设备驱动程序1.4.1 Linux块设备驱动程序原理(1)顾名思义,块设备驱动程序就是支持以块的方式进行读写的设备。块设备和字符设备最大的区别在于读写数据的基本单元不同。块设备读写数据的基本单元为块,例如磁盘通常为一个sector,而字符设备的基本单元为字节。从实现角度来看,字符设备的实现比较简单,内核例程和用户态API一一对应,这种映射关系由字符设备的file_op
2012-11-20 10:19:33 5983 1
转载 regulator
regulator(转)linux 驱动 2010-03-21 22:41:20 阅读269 评论0 字号:大 中 小 订阅///*regulator 是驱动中电源管理的基础设施。要先注册到内核中,然后使用这些电压输出的模块get其regulator,在驱动中的init里,在适当时间中进行电压电 流的设置.与 gpio 差不多? 一样是基础设施?*/
2012-11-19 16:10:05 1253
转载 linux中互斥尽量用mutex,不用semaphore
DEFINE_MUTEX是来自include/linux/mutex.h中的一个宏,用它可以定义一把互斥锁,在Linux内核中,其实是在2005年底才建立比较系统、完善的互斥锁机制,在那年冬天,来自RedHat公司的Ingo Molnar大胆地提出了他所谓的Generic Mutex Subsystem,即通用的互斥锁机制。此前内核中很多地方使用的都是信号量,而当时间的箭头指向了2005年末时,"
2012-11-19 09:03:51 5982 1
转载 linux 休眠与唤醒
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的suspend的回调函数;(3)按照注册顺序休眠核心设备和使CPU进入休眠态。 冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文。当这些进程被解冻的时候,他们是不知道自己被冻结过的,只是简单的继续执行。如何让Linux进入休眠呢?用户可以通过读写sys文
2012-11-19 08:59:12 4533
转载 基于S3C2410的SD卡linux驱动工作原理
Linux MMC/SD/SDIO体系结构linux sd卡驱动分析 基于S3C2410的SD卡linux驱动工作原理 我在讲嵌入式Linux驱动开发班的时候,发现不少学员对SD卡驱动这块比较感兴趣,课下来找我探讨。而在很多技术论坛,也有不少人问这方面的问题,所以就想写一
2012-11-16 09:48:06 1749
转载 uda1341原理及驱动
现在主流的音频总线接口有IIS和AC97(Audio Codec)。一。IIS是由sony和PILIPS公司共同推出的一套标准。 IIS有3--5根物理连线 IIsDI:串行数据输入 IISDO:串行数据输出 IISSCLK:为串行数据提供位时钟。IISSCLK=声道数*采样频率*采用位数。如:fs=44.1Khz 声道数位2.采样位数为16
2012-11-15 10:07:40 4224
转载 L3-接口
L3-接口 L3-interface是一种串行接口,最常见的实例是UDA1341TS中连接microcontroller和UDA1341TS的接口。 当然,L3有3根引脚: · L3DATA: microcontroller interface data line · L3MODE: microcontroller interface mode li
2012-11-15 09:54:37 2073
转载 linux音频alsa-uda134x驱动文档阅读之四(数字音频接口)
转自:http://blog.chinaunix.net/uid-22917448-id-1765505.htmlASoC currently supports the three main Digital Audio Interfaces (DAI) found onSoC controllers and portable audio CODECs today, namely A
2012-11-14 13:53:05 1060
转载 linux音频alsa-uda134x驱动分析之三(解码器)
ASoC Codec DriverASoC解码器驱动=================The codec driver is generic and hardware independent code that configures thecodec to provide audio capture and playback. It should contain no code
2012-11-14 12:31:33 1601
转载 linux音频alsa-uda134x驱动分析之二(时钟)
Audio Clocking音频时钟==============This text describes the audio clocking terms in ASoC and digital audio ingeneral. Note: Audio clocking can be complex!本文本总体描述ASoC和数字音频中的音频时钟条款。Note:Audi
2012-11-14 12:10:16 1240
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人