目录

  • DS-5 Streamline

    • 1. Introduction
    • 2. DS-5 下载安装与license设定
      • 2.1 DS-5的下载路径
      • 2.2 license设定
    • 3. Rebuild kernel and kernel modules
    • 4. Build gator driver and get gator daemon
    • 5. DS-5 Live Preview
    • 6. DS-5 Local Capture
    • 7. 使用DS-5遇到的问题及解法办法

DS-5 Streamline

最近在使用DS5分析一些CPU loading的相关事情,整理一下DS5这个tool的用法,以及使用过程中遇到的一些问题及处理办法


1. Introduction

  • DS-5 (即ARM Development Studio 5) ,是一款针对 ARM 支持的 Linux 和 Android 平台的全面的端到端软件开发工具套件。ARM DS-5 提供具有跟踪、系统范围性能分析器、实时系统模拟器和编译器的应用程序和内核空间调试器。这些功能包括在定制、功能强大且用户友好的基于 Eclipse 的 IDE 中。借助于该工具套件,可以很轻松地为 ARM 支持的系统开发和优化基于 Linux 的系统,缩短开发和测试周期,并且可帮助工程师创建资源利用效率高的软件。即DS-5 是 ARM 开发的软体套件, 提供编译、链结等工具, 并提供性能调适工具 Streamline
  • Streamline:用于分析报告的基于时间的筛选,用于时间测量和快速热点分析的可伸缩、跨部分的标记,独立的共享库分析,以及支持 CPU 热插拔。可以用來监视 ARM CPU 与Mali GPU 负载

2. DS-5 下载安装与license设定

2.1 DS-5的下载路径

https://developer.arm.com/products/software-development-tools/ds-5-development-studio/downloads

  • 下载完成,解压,点击 setup.exe安装,选择好对应安装路径后,其他都可选择yes,安装好后,重启电脑。

2.2 license设定

Open Eclipse --> Help --> ARM License Manager --> Add License
--> Use a license file, license server...
--> Use an existing license file or license server address --> License Server
-->Host: alisvr03Port: 8224 // 这两个是得购买搭建服务器才可以的,个人使用的,只能使用其他途径了,或者试用30天 @_@(另一种是选择Licence File,这个可网上可以搜索到patcher.exe的tool即可生成dat档)
-->Select the toolkit that you intend to use  --> 选择 DS-5 Ultimate Edition 

3. Rebuild kernel and kernel modules

  • 需要打开相关设定,才可以让系统可以执行DS-5的相关操作,所以,先要将kernel打开一些config

可以参考下面的kernel config设定
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0482j/BABECIDJ.html

以DS-5 5.28.1版本为例
进入以上链接后,在左下框中,依次点击,即可入kerenl的config设定

ARM软件开发工具
-> ARM DS-5--> Version 5.28---> ARM Streamline----> Arm Streamline Performance Analyzer User Guide-----> Target Setup------> Required kernel configuration menu options
  • 这时想查看一下各核CPU在各个时间点的loading情况,所以打开的config如下所示:
    kernel 使用make menuconfig执行后出现界面,再进行如下操作
General Setup -> [*] Profiling Support -> Kernel Performance Events And Counters--> [*] Kernel performance events and counters
Timers subsystem-> [*] High Resolution Timer Support
Kernel Features -> [*] Enable hardware performance counter support for perf events (may not found in menuconfig)
Kernel Hacking-> [*] Tracers --> [*] Trace process context switches and events (may not found in menuconfig) 
  • 替换kernel & kernel modules
    1 替换 kernel 中build出来的arch/arm/boot/zImage(有些平台是Image)
    2 替换全部 kernel modules
    另一个简化版本,即只替换板子上,执行lsmod中可以看到的modules即可,也可以把lsmod看到的,但你不用到的功能又不会影响系统的module去掉,最后,直接insmod那些lsmod看到的必要部分即可

4. Build gator driver and get gator daemon

  • 如果DS-5要在板子上执行起来,还得要一个gator.ko跟gatord一个bin的执行档才可以
  • gator.ko如何得到
    可以在DS-5的安装路径中去找到gator的source code,然后放到kernel中去build即可。

5. DS-5 Live Preview

  • 1)在板子上,将gator.ko跟gatord放到/data下面,权限设置为755,chmod 755 gator*
  • 2)分别执行以下两个命令
# insmod /data/gator.ko
# /data/gatord &
  • 3)执行以上第二步后,,同时记录一下板子上的IP,此时板子上的操作就已经完成
  • 4)在PC机上,打开Streamline这个软件,输入刚刚记录的板子IP,再点击”眼睛按钮”,选择你连接的设备IP,最后点击红色按钮,即可开始录制板子上CPU的情况了

6. DS-5 Local Capture

在以上第5点“DS-5 Live Preview”时,已经说到了使用联网的方式,获取到板子上的CPU情况,但有时板子是在一个封闭的环境中,比如在一个屏蔽箱中时,这时,我们无法用联网的方式去获取板子的CPU情况,这时要怎么办呢?
DS-5已经有考虑到这种情况了,可以让用户在板子上直接使用命令的方式,把录制的档案保存到板子上,再copy出来用Streamline查看即可。
只要在板子上执行以下两步即可得到CPU的录制情况

# insmod /data/gator.ko
# /data/gatord -s /data/session.xml -c /data/configuration.xml -o /data/test_result & 

以上命令中的session.xml跟configuration.xml要如何获取到呢?
这个就得参考第5点“DS-5 Live Preview”了,当我们使用联网方式时,会在保存的录制档案中,自动生成session.xml与configuration.xml,当打开生成的目录时,可以看到有session.xml跟chart_configuration.xml.gz, 这时把chart_configuration.xml.gz解压就可以得到configuration.xml了。
最后,只要把这两个xml文件cp到板子上的/data目录下,权限为777即可执行上面的命令录制档案了。

(PS:最好是用你所用版本的两个xml,不然,如果你用从其他版本copy过来的xml,那到时录制的档案,在你的PC机上是打不开的,因为DS-5的版本不一样)

其中的session.xml中的 duration=”60”参数,代表要录制的时间长短,可以随自己要录制的时间设定

7. 使用DS-5遇到的问题及解法办法

  • 当本地录制完成后,在板子的/data下面生成一个test_result.apc文档,copy出来后,如何用Streamline打开?
    1)先把test_result.apc压缩成zip格式,即为test_result.apc.zip
    2)使用Streamline把test_result.apc.zip import进去即可,再右击“test_result”档案,点击Analyze即可查看CPU的情况
    (ps: 以上test_result.apc,一定要以.apc结尾,再打包成.apc.zip格式的包,不然,Streamline会import不进去的,切记切记)
  • 在Streamline查看对应code的办法,当import进入Streamline界面后,在左边栏中,选中要分析的档案,右击,选择“Analyze”,会弹出如下的对话框,然后,点击“Add ElF image”,这样就可以选择对应文件的symbol进行解析,最后,在档案中的”Call Paths”、“Functions”、“Code”中可以直接查看到source code中的哪个函数,哪一行调用。

DS-5 Streamline相关推荐

  1. 2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作

      目录 RDD.DF.DS相关操作 SparkSQL初体验 SparkSession 应用入口 获取DataFrame/DataSet 使用样例类 指定类型+列名 自定义Schema ​​​​​​​ ...

  2. DS, ES, SS, DI, SI, BP, SP, IP, FS 寄存器

    为什么80%的码农都做不了架构师?>>>    DS, ES, SS, DI, SI, BP, SP, IP, FS 寄存器 DS is called data segment re ...

  3. DSAPI多功能组件编程应用-DS提示气泡

    首先下载DSAPI.dll.并在项目中引用. 该功能包括在DSAPI1.0.1.1及更高版本号,DLL请到本人资源里查找. Private Sub Button1_Click(sender As Ob ...

  4. Windows Server 2012 之配置AD DS

    在企业级的局域网络中,通常需要对其网络中的所有计算机统一管理,而传统的方式(用户组处于工作组模式)计算机之间互相不信任(不然会导致很明显的安全问题 总不至于要去信任一个***的电脑吧?) 为此需要一个 ...

  5. 确认AD DS域是否正常

    一.检查DNS服务器内的日志是否完整 1.检查主机日志: 域控dc1.sayms.com已经正确的将其主机名与ip地址注册到DNS服务器内 2.检查SRV日志--使用DNS控制台 数据类型为" ...

  6. Azure上A/D系列虚拟机到DS系列迁移(2)

    11. 该脚本会检测环境,停止虚拟机,拷贝VHD文件,创建磁盘等等,知道出现如下类似画面,他会暂停等待用户操作: 后面这几个步骤非常重要,关系到你后续的创建是否成功: 12. 进入D:\migvm目录 ...

  7. plspl和oracle,LOL2017LSPL春季死啊DS轻取NON ME逆转GD赢得首胜

    LOL2017LSPL春季死啊DS轻取NON ME逆转GD赢得首胜.2月9日,2017<英雄联盟>甲级职业联赛(LSPL)春季常规赛第二周继续进行,在当天的比赛当中,DS在两局比赛中击败N ...

  8. N-MOS的G-S电容随着DS电压的变化关系

    ➤ 01 栅极-源极输入电容与DS电压 对于 MOS管 往往存在较大的输入电容.这个电容随着DS的变化关系使得它可以当做一个可变电容来使用. 下面是IRF3710的数据手册的输入电容与DS电压之间的关 ...

  9. 对Exchange 事件ID 9154 DSACCESS 返回 DS 通知出现的错误“0x80004005”的处理

    环境: 1台主DC(2k3,集成DNS)5种操作主机角色都运行在主DC上,一台额外域控.           1台EX2K3 问题1:现EX2k3服务器上出现如下错误日志:             事 ...

  10. Windows 08 R2_创建AD DS域服务(图文详解)

    目录 目录 Active Directory概念 创建第一个AD域控制器 搭建DNS服务器 使用Windows窗口程序创建AD域控制器 AD与LDAP的关系 使用Powershell来创建ADDS域控 ...

最新文章

  1. 清华通信本硕巨佬秋招经验总结,收割互联网大厂后端 SP/SSP offer,太强了!
  2. POJ1125 Floyd
  3. iOS客户端开发流程
  4. 四大跨平台的APP分析
  5. vue隐藏和显示元素
  6. 安装LoadRunner 11时弹窗提示Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误。键入命令 / ? 可获得帮助信息'。
  7. XXX集团财务决策支持系统——用友财务系统现有的财务报表(系列四)
  8. Allwinner ClassA20类库分析
  9. List转JSON格式方法
  10. 机器学习思维导图(基于sklearn)
  11. VISTA 服务详解
  12. filter-grok,dissect匹配数据
  13. 阿里云国际站和国内站的区别
  14. RT_Thread_进程间通讯——邮箱
  15. 随机森林算法及贝叶斯优化调参Python实践
  16. 2021年计算机应用基础统考题库,2021年7月计算机应用基础统考题库-网络教育统考计算机应用基础真题...
  17. 华清远见重庆中心—JS阶段技术总结/个人总结
  18. 最新版 Office 三国杀,体验式寻找最强电子表格
  19. C++暴力枚举——三连击(升级版)
  20. mysql 创建相同数据库_mysql数据库找出相同数据MySQL常用操作

热门文章

  1. Kaggle 大师访谈:我的 ML 竞赛之旅
  2. 财智家庭理财V6.0(序列号完美破解版)
  3. windows系统 cmd 下载python包的代理配置
  4. PPT 2013 提升演讲逼格 视频教程
  5. OneLedger蓄势待发,引爆跨链热点
  6. html5在线拍照 源码,html5拍照功能实现代码(htm5上传文件)
  7. 【2021】【论文笔记】太赫兹量子阱光电探测器——
  8. 状态监测与故障智能诊断技术在能源动力机械内燃机的应用
  9. 数据可视化API之弧线图实现
  10. 怎样在WORD里输入国际音标