Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

如何在Nexus (FUGU)播放器上使用SoCWatch

$
0
0

SoCWatch 简介

英特尔® SoC Watch 是一款命令行工具,用以在基于英特尔® 架构的平台上监控与能 耗相关的系统行为。 它可监控电源状态、频率、总线行为、唤醒次数和其他不同指标, 从而提供有关系统能效的洞察。

数据收集后,目标系统中默认生成汇总文件和原始数据。 原始数据 (sw1) 可导入至 英特尔 Energy Profiler (与 VTune Amplifier 相同的 GUI),以实现长期系统行为的 关联性与可视化。 汇总文件 (csv) 可通过 Excel 打开,并将差分指标绘制成图表,以 简化分析过程。

通过 Nexus 播放器授予根权限

Nexus 播放器业已面市。 该分析工具需要通过内核驱动程序授予根权限性能数据。 您可以遵循该视频中的指导性步骤: Nexus Player – How to Root Android TV,以授予权限。 拥有根权限后,设备可识别 adb shell 中的 su 命令。  

重建内核以及针对 Nexus 播放器的内核配置

Google 禁用了内核配置中的模块上传功能。 因此,我们需要从 Google 官方网站下 载内核源,并仅基于调整内核配置后的自定义配置重建该内核。

步骤 1. 从 Google 官方网站下载内核源

步骤 2. 进行内核配置时必须启动下列选项。

export ARCH=x86

make fugu_defconfig

make menuconfig
  • CONFIG_MODULES=y
  • CONFIG_MODULE_UNLOAD=y
  • CONFIG_TRACEPOINTS=y
  • CONFIG_FRAME_POINTER=y
  • CONFIG_COMPAT=y
  • CONFIG_TIMER_STATS=y
  • CONFIG_X86_ACPI_CPUFREQ=m (or CONFIG_X86_ACPI_CPUFREQ=y)
  • CONFIG_INTEL_IDLE=y

步骤 3. 构建内核后,内核文件应位于路径 < INSTALLATION_DIR_PATH > \x86_64\arch\x86\boot\bzImage 下

make –j4

步骤 4. 通过预先构建的内核构建启动映像

就英特尔平台设备而言,有时仅闪存内核部分可能会失败。 因此,我们需要借助预先 构建的内核构建一个启动映像。 为此,我们可将预先构建的内核放入 Android 源代码树 内,并且仅构建启动映像。

为了快速解决问题,我们使用 unpack/repack 启动映像脚本构建启动映像,即 Android Image Kitchen。 首先,您从 Googl e developers下载出厂映像。 使用 unpackimg.bat 提取 boot.img 后,用您之前 构建的 bzImage 替换 < INSTALLATION_DIR_PATH >\split_img\boot.img-zImage 。 最后,使用 repackimg.bat 重新打包新的 boot.img。

注: 如果设备由于闪存结构错误而无法重启,您可以拔掉电源,再重新插上,并长按 硬按钮,使设备以快速启动模式运行。 然后,使用出厂映像(从 Google developers 下 载)中包含的 flash-all.bat 脚本闪存所有映像,并恢复设备。

步骤 5. 将新的 boot.img 闪存至设备。

adb reboot bootloader

fastboot flash boot boot.img

fastboot reboot

现在,您可以查看内核版本,确认闪存是否成功。 如果闪存成功,我们可以开始基于 构建该内核源的 SoCWatch 驱动程序。

构建 SoCWatch 驱动程序

驱动程序源包含在 SoCWatch 软件包内,软件包下载地址为 Intel® System Studio。 SoCWatch 是构成英特尔® System Studio 的组件。

步骤 1. 通过构建驱动程序脚本在 < INSTALLATION_DIR_PATH > \soc_perf_driver\src\ 中构建 socperf1_2.ko

sh ./build-driver

步骤 2. 通过构建驱动程序脚本在 < INSTALLATION_DIR_PATH > \socwatch_driver\lxkernel\ 中构建 SOCWATCH1_5.ko

sh ./build-driver –k <KERNEl_BUILD_DIR> -s <KERNEl_BUILD_DIR>

设置 SoCWatch 环境

通过 adb 根命令授予根权限后,您可以执行安装文件 (socwatch_android_install.bat)。 但是,我们无法简单以默认为 root 的模式运行 adb。 在这种情况下,我们逐步设置 SoCWatch 环境。

第一步,导航至 SoCWatch 目录,将所需文件拷贝至设备。 就该设备而言,我们只需 将文件推送至 sdcard 位置,然后拷贝至 /data/socwatch

tools\os2unix.exe setup_socwatch_env.sh

tools\dos2unix.exe SOCWatchConfig.txt

adb push socwatch /sdcard/socwatch/

adb push setup_socwatch_env.sh /sdcard/socwatch/

adb push libs /sdcard/socwatch/libs/

adb push valleyview_soc /sdcard/socwatch/valleyview_soc/

adb push tangier_soc /sdcard/socwatch/tangier_soc/

adb push anniedale_soc /sdcard/socwatch/anniedale_soc/

adb push socperf1_2.ko /sdcard/socwatch/

adb push SOCWATCH1_5.ko /sdcard/socwatch/

adb shell

su

cp –r /sdcard/socwatch /data/

cd /data/socwatch

chmod 766 socwatch

最后,您可参考用户指南(见附件),了解有关数据收集的说明。 数据收集完成并获 取输出数据后,您可以提取结果文件,并通过主机系统内收集的性能数据拥有目标系统洞 察/分析。


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>