作者:ARM-WinCE
具体内容开始之前,先说点缘由。我不用WinCE已经很久了,呵呵,目前公司的项目都是基于Linux/Android,所以也开始在Linux上面做开发。我在接触WinCE之前就做Linux驱动,后来改做WinCE或者说主要做WinCE,但断断续续的接触Embedded Linux,所以写了大量的WinCE博客。现如今风水轮流转,以后要以Linux/Android为主,断断续续的做点WinCE或者Windows Embedded Compact 7了。说实话,刚开始还真有点不太适应。不多说了,下面进入正题。
做过Linux系统性能分析和优化的人,一定对Oprofile不陌生,我用到的有两个工具,OProfile和Ftrace,都是用来分析内核性能的工具,今天先介绍一下OProfile的使用。刚开始用得时候,我也是一个初学者,最大的感受就是很难将OProfile在我的嵌入式Linux上面运行起来,在花了很多时间以后才搞定,所以这里写一篇如何玩转OProfile的文章。如下:
1. 首先要下载OProfile的相关软件包,如下:
oprofile-0.9.6.tar.gz: http://oprofile.sourceforge.net/download/
popt-1.14.tar.gz: http://freshmeat.net/projects/popt/
binutils-2.20.tar.gz: http://ftp.gnu.org/gnu/binutils/
注意:在下载oprofile-0.9.6.tar.gz的时候,建议通过git来下载,否则可能不能支持ARM-CortexA9.
下载完成后,创建一个文件夹名为OProfile_Project,进入该文件夹通过Git命令下载oprofile-0.9.6.tar.gz,解压另外两个工具包,命令如下:
cd Oprofile_Project
git clone git://oprofile.git.sourceforge.net/gitroot/oprofile/oprofile
tar -zxvf popt-1.14.tar.gz
tar -zxvf binutils-2.20.tar.gz
rm *.gz
完成后,应该获得三个子文件夹分别是binutils-2.20,oprofile和popt-1.14。
2. 使用交叉编译器编译OProfile
首先,确认你的目标板上运行的Linux是否支持下面的选项:
Profiling Support
OProfile system profiling