Подготовка Nexus Player (Fugu) К Работе С Socwatch

Преимущества оптимизации энергопотребления Android-приложений, предназначенных для мобильных устройств, видны невооруженным глазом.

Меньшее потребление энергии означает более длительное время между подзарядками.

Но есть и другие стороны энергопотребления.

Настольное оборудование, такое как Nexus Player, также нуждается в экономичных приложениях.

В глобальном масштабе, а платформа Android представляет собой такое явление, разумное использование энергии означает разумное отношение к окружающей среде.



Подготовка Nexus Player (FUGU) к работе с SoCWatch

Часы на базе процессора Intel — инструмент командной строки, позволяющий анализировать энергопотребление систем на платформах Intel. Nexus Player — одна из таких систем.

Для того чтобы узнать с помощью SoCWatch, что происходит «под капотом» Nexus Player, устройство необходимо подготовить особым образом.



Общая информация о SoCWatch

Intel SoC Watch может собирать информацию о состояниях энергопотребления микропроцессоров и причинах переключения между этими состояниями, отслеживать изменения тактовой частоты, использование шины и многие другие показатели.

Все это помогает детально анализировать параметры энергопотребления различных систем.

После сбора информации SoCWatch по умолчанию генерирует файлы, содержащие необработанные данные, и отчет с общей информацией о целевой системе.

Необработанные данные (хранящиеся в формате файла .

SW1) можно импортировать в Intel Energy Profiler. Этот инструмент имеет тот же интерфейс, что и VTune Amplifier. Здесь вы можете сравнивать и визуализировать данные о поведении системы, развернувшиеся с течением времени.

Файл отчета (в формате .

CSV) можно открыть, например, в Microsoft Excel и на основе содержащихся в нем данных построить графики для облегчения анализа.



Получение root-прав на плеере Nexus

Nexus Player уже в продаже.

Подробности о работе с ним, рассмотренные на Intel Developer Forum 2015, можно прочитать в материале Лабораторные заметки IDF2015: перевод вашего Nexus Player из термоусадочной упаковки в анализ производительности и энергопотребления .

Для анализа Nexus Player с помощью SoCWatch потребуются дополнительные усилия.

Таким образом, системе аналитики необходимы root-права для сбора данных о производительности с помощью драйвера уровня ядра.

Для того, чтобы получить такие права, вы можете воспользоваться видео-гидом Nexus Player – Как получить root права на Android TV .

После рутирования устройство сможет принимать команду su в оболочке ADB.

Сборка ядра с новой конфигурацией для Nexus Player

Google отключил функцию загрузки модулей в конфигурации ядра ОС устройства.

Поэтому, чтобы подготовить Nexus Player к работе с SoCWatch, нам необходимо скачать исходный код ядра с официального сайта 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. Давайте убедимся, что пересобранное ядро можно найти по адресу \x86_64\arch\x86\boot\bzImage

make –j4

4. Давайте создадим загрузочный образ с готовым ядром.

В случае с устройствами, построенными на платформе Intel, иногда, если перепрошить только раздел ядра, может произойти сбой.

Итак, мы создадим загрузочный образ с только что построенным ядром, настроенным так, как нам нужно.

Для этого мы можем поместить ядро в дерево исходного кода Android и собрать только загрузочный образ.

Чтобы создать загрузочный образ, мы используем инструмент изображения Android-изображение кухни .

В частности, он позволяет распаковывать и упаковывать изображения.

Для начала скачаем заводской образ с портала Разработчики Google .

После этого воспользуемся файлом unpackimg.bat для распаковки образа и замены \split_img\boot.img-zImage с файлом bzImage, который мы создали на предыдущем шаге.

Чтобы выполнить этот шаг, используйте пакетный файл repacking.bat для создания нового boot.img. Обратите внимание, что если устройство не может перезагрузиться после неудачной перепрошивки, реанимировать его можно следующим образом.

Отключите кабель питания, немного подождите, подключите кабель, а затем нажмите и удерживайте аппаратную кнопку, которая находится на нижней грани устройства.

Nexus Player перейдет в режим быстрой загрузки.

После этого воспользуйтесь скриптом flash-all.bat, который можно найти среди файлов, скачанных вместе с заводским образом с сайта Google Developers. Он перепрошьет устройство и вернет ему работоспособность.

5. Запишите новый boot.img на устройство, используя следующие команды:

adb reboot bootloader fastboot flash boot boot.img fastboot reboot

Теперь вы можете проверить версию ядра, чтобы убедиться, что перепрошивка прошла успешно.

Если все получилось, то можно собирать драйвер SoCWatch.

Сборка драйвера SoCWatch

Исходный код драйвера включен в пакет SocWatch, который можно загрузить с помощью Intel Системная Студия .

SoCWatch — один из компонентов Intel System Studio. Для сборки драйвера воспользуемся следующей последовательностью действий: 1. Давайте соберем socperf1_2.ko, используя скрипт сборки драйвера в \soc_perf_driver\src\

sh .

/build-driver

2. Давайте соберем SOCWATCH1_5.ko, используя скрипт сборки драйвера в \socwatch_driver\lxkernel\

sh .

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



Настройка среды SoCWatch

Вы можете запустить установочный файл (socwatch_android_install.bat) с помощью команды adb root после того, как устройство будет рутировано.

Однако для успешной работы этой команды могут потребоваться некоторые дополнительные настройки.

Поэтому мы рассмотрим здесь универсальную процедуру подготовки среды SoCWatch, основанную на использовании команды su. Для начала вам нужно зайти в папку SoCWatch и скопировать на устройство необходимые файлы.

В нашем случае мы можем отправить эти файлы на SD-карту, а затем скопировать их в каталог /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

Теперь вы можете использовать Руководство пользователя SoCWatch , начните собирать данные.

Собрав данные, останется только загрузить полученные файлы с устройства на основной компьютер и начать анализировать информацию о производительности и энергопотреблении Nexus Player.

Подготовка Nexus Player (FUGU) к работе с SoCWatch

Сбор данных с помощью SoCWatch

Полученные результаты

Если вы разрабатываете приложения для Nexus Player, то теперь вы знаете, как сделать мир лучше.

Достаточно проанализировать энергопотребление ваших конструкций с помощью Intel SoC Watch и исправить то, что «потребляет» неоправданно большое количество электроэнергии.

Теги: #Nexus Player #Fugu #SoCWatch #Разработка Android

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.