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

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


native_sdk

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
native_sdk [2015/07/07 16:50]
Alexander
native_sdk [2015/07/08 15:28] (текущий)
Vladimir Manov private:native_sdk переименовано в native_sdk
Строка 1: Строка 1:
-__false__+====== Низкоуровневый SDK для разработки на C++ ====== 
 + 
 +Низкоуровневый SDK представляет собой систему сборки нативных приложений C/C++, а также сборок прошивок на базе CMake. 
 + 
 +Для сборки прошивки на Ubuntu 14.04 LTS x64 нужно установить следующие пакеты:​ 
 + 
 +<​code>​ 
 +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 для работы сборочной системы 
 +</​code>​ 
 + 
 +== Установка SDK на Linux-систему == 
 +<​code>​ 
 +tar xzf tvip-sdk-multiplatform-XXXXXXXX.tgz 
 +cd tvip-sdk-multiplatform-XXXXXXXX/​app/​ 
 +</​code>​ 
 + 
 +В каталоге app необходимо разместить CMakeLists.txt для сборки собственного приложения. 
 +Если приложение собирается сторонней сборочной системой,​ в данный файл необходимо положить команды для установки необходимых файлов в прошивку. В файле CMakeLists.txt,​ накодящимся в SDK есть примеры различных вариантов сборки и установки приложений.  
 + 
 +Для сборки прошивки под конкретную платформу необходимо выполнить следующие команды (применительно для платформы S500v). 
 +<​code>​ 
 +make builddir-s500v 
 +cd build-s500v 
 +make platform-newrootfs install platform-firmware-ota 
 +</​code>​ 
 + 
 + 
 +=== Компилятор === 
 + 
 +При сборке через систему 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. 
 +<​code>​ 
 +#updater tvip_firmware.ota.zip 
 +</​code>​ 
 + 
 +== Управление сетевыми подключениями == 
 + 
 +[[:​network_settings]]
  
native_sdk.1436277035.txt.gz · Последние изменения: 2015/07/07 16:50 — Alexander