Инструменты пользователя

Инструменты сайта


native_sdk

Низкоуровневый SDK для разработки на C++

Низкоуровневый SDK представляет собой систему сборки нативных приложений C/C++, а также сборок прошивок на базе CMake.

Для сборки прошивки на Ubuntu 14.04 LTS x64 нужно установить следующие пакеты:

sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
sudo apt-get install build-essential cmake squashfs-tools cramfsprogs lib32ncurses5 lib32tinfo5 lib32z1 openjdk-7-jre-headless zlibc  zlib1g-dev qt5-default
sudo dpkg-reconfigure dash #отключаем dash для работы сборочной системы
Установка SDK на Linux-систему
tar xzf tvip-sdk-multiplatform-XXXXXXXX.tgz
cd tvip-sdk-multiplatform-XXXXXXXX/app/

В каталоге app необходимо разместить CMakeLists.txt для сборки собственного приложения. Если приложение собирается сторонней сборочной системой, в данный файл необходимо положить команды для установки необходимых файлов в прошивку. В файле CMakeLists.txt, накодящимся в SDK есть примеры различных вариантов сборки и установки приложений.

Для сборки прошивки под конкретную платформу необходимо выполнить следующие команды (применительно для платформы S500v).

make builddir-s500v
cd build-s500v
make platform-newrootfs install platform-firmware-ota

Компилятор

При сборке через систему CMake, входящую в SDK, необходимый компилятор и sysroot всегда доступны автоматически.

Для сборки через стороннюю систему, компилятор будет установлен в каталог ~/.tvip-download/

Sysroot с большим количеством системных библиотек доступен в каталоге sdk/builddir-s500v/sysroot/. Include-файлы системной библиотеки libtvip доступны в каталоге tvip-includes.

Краткое описание наиболее важных заголовочных файлов libtvip

STBresourceHolder

Через этот класс происходит основная инициализация оборудования и осуществляется доступ к доступным объектам работы с оборудованием (графика, медиа, ввод).

STBDisplayInterface

Работа с дисплеем: инициализация, смена разрешения, управление CEC.

STBHDVideoFormat - управляет разрешением HDMI.

STBSDVideoFormat - управляет разрешением AV.

STBGraphicsInterface

Управляет взаимодействием с 2D графикой. Обратите внимание, что работа с 2D графикой не поддерживается в текущих приставках TVIP. Также этот класс используется для доступа к объекту OpenGLES

STBGraphicsGlEs20Interface

Абстрагирует работу с EGL. Для работы с OpenGLES приложение должно унаследовать дочерний класс FrameRenderer. Этот класс будет получать события инициализации/деинициализации OpenGL, а также событие на отрисовку следующего кадра.
Разрешение фреймбуффера для OpenGL всегда равно разрешения экрана ТВ. Соответственно, при смене разрешения происходит полная переинициализация EGL-контекстов с новыми параметрами.

STBPlayerInterface

Осуществляет всю работу с плеером. Плеер выполняется команды (play, pause, seek) в порядке очереди. Также плеер позволяет подписываться на различные события (начало проигрывания, EOF, стоп, и т.д.).

Пример использования большей части API плеера доступно в примере app/tests/test_play.cpp

STBCommandsInterface

Абстрагирует доступ к кнопочным устройствам ввода, независимо от типа. Поддерживает IR-пульты, USB-клавиатуры и HDMI-CEC. Для работы необходимо непосредственно добавить в класс нужный тип ИК-пульта (обычно - TvipUniversal) и USB клавиатуру (LinuxKeyboard).

Пример использования - app/tests/test_commands.cpp

STBFirmwareUpdater

Работа с прошивками в формате TVIP. В большинстве случаев необходимо создание собственного класса для работы с прошивками.

Система обновлений

В приставках TVIP независимо от устрановленной ОС, используется система обновлений в формате ОС Android. Для установки обновлений используется ПО Android Recovery, находящееся на отдельном разделе.

Чтобы приставка единократно перезагрузилась в Android Recovery необходимо из Linux-системы выполнить команду reboot_tool recovery.

OTA-обновление для установки, а также команды для Recovery размещаются (в Linux-системе) в каталог /tmp/recovery/recovery

Наиболее простой способ устновки прошивки: использование утилиты updater.

#updater tvip_firmware.ota.zip
Управление сетевыми подключениями
native_sdk.txt · Последние изменения: 2015/07/08 15:28 — Vladimir Manov

Инструменты страницы