Само по себе RidgeRun SDK не очень распространенная SKD, однако, если Вам придётся занимать работой с видео для встраиваемых систем, то Вам наверняка будет интересно оценить эту SDK (Официальный сайт RidgeRun SDK).
В моём случае я делал свою сборку, для процессоров DM368, а точнее для платы Leopard Board. И одной из первых же проблем стало то, что документация на wiki, находится далеко не в актуальном состоянии, или не полна.
И так, для начала нам понадобится кросс компилятор CodeSourcery Toolchain, а точнее 2009q1-203, и так же, необходимо установить DVSDK 4 техасских инструментов. На сайте сказано, что DVSDK может работать только с Ubuntu 10.04 LTS 32-bit и никак иначе.
И вот тут же начинаются проблемы, так как большинство репозиториев для 10.04 уже просто не существует. На момент написания статьи последняя версия Ubuntu 16.04 LTS, но её тоже использовать не стоит, в принципе собрать RidgeRun на ней можно, но нельзя будет сделать img файл образа загрузочной SD карточки. Дело в том что в старших версиях Ubuntu, после 14.04 в утилите fdisk, которая входит в пакет build-essential, изменены аргументы командной строки, а некоторые вообще удалены. В дальнейшем при сборке img файла, они понадобятся, так как, немного забегая вперёд, u-boot installer их использует. Можно конечно как workaround попробовать заменить fdisk или весь build-essential (что не очень то и просто), но лично мне показалось лучшим решением один раз и навсегда сделать отдельную виртуальную машину для сборки, на которую поставить всё необходимое, пока ещё «живые» репозитории.
Итак, я буду использовать виртуальную машину Ubuntu 14.04. Поскольку установщики ARM toolchain и DVSDK 4 написаны на Java, придётся её установить:
sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get clean && sudo apt-get update sudo apt-get install oracle-java6-installer apt-get install fakeroot git-core gitk subversion
По установке Java и изменению текущей версии, есть хорошая статья.
CodeSourcery Toolchain
Устанавливаем CodeSourcery Toolchain, для этого нам понадобятся следующие пакеты:
sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 gtk2-engines-murrine:i386 libstdc++6 libxt6:i386 sudo apt-get install libdbus-glib-1-2:i386 libasound2:i386
И сразу сделаем для него директорию /opt/codesourcery
mkdir -p /opt/codesourcery cd /opt/codesourcery/
Далее скачиваем Toolchain и устанавливаем права на исполнение:
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package4573/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi.bin chmod ugo+x arm-2009q1-203-arm-none-linux-gnueabi.bin
И запускаем установку:
./arm-2009q1-203-arm-none-linux-gnueabi.bin
Может произойти ошибка, что установщик не смог найти bash, тогда нужно выполнить:
sudo ln -sf bash /bin/sh
и запустить установку заново. Что бы вернуть «как было», нужно выполнить sudo ln -sf dash /bin/sh
В процессе установки, нужно главное указать путь на /opt/codesourcery/arm-2009q1
так как в дальнейшем сам make будет искать Toolchain именно там.
DVSDK 4
Для установки DVSDK 4, делаем всё тоже, скачиваем, назначаем права, устанавливаем:
wget -c http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_02_00_06/exports/dvsdk_dm368-evm_4_02_00_06_setuplinux sudo chmod a+wrx dvsdk_dm368-evm_4_02_00_06_setuplinux ./dvsdk_dm368-evm_4_02_00_06_setuplinux --forcehost
Только уже нужно указать путь на bin установленного Toolchain: /opt/codesourcery/arm-2009q1/bin
и осталось установить стандартный набор утилит, если он ещё не установлен:
sudo apt-get install build-essential checkinstall
RidgeRun SDK
Сборщику RidgeRun ещё необходим Python-2.7.5, но на нашем хосте версия выше, а с другим make в RidgeRun не хочет работать. Придётся собирать его из исподников, но перед этим я рекомендую выполнить максимально все необходимые действия с apt-get, так как после установки Python-2.7.5, ткущая версия apt не будет работать, а будет просить свою версию, проверить текущую версию питона, можно командой python –version или python –V. Поэтому устанавливаем дополнительные пакеты, которые нам могут понадобиться.
sudo apt-get install libdbus-glib-1-dev sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev sudo apt-get install autoconf2.59 libgtk2.0-dev bison flex mono-devel libexpect-perl libusb-dev curl minicom libtool libncurses5-dev sudo apt-get install texinfo quilt libcrypt-ssleay-perl ccache quilt
Установка питона тоже достаточно простая, всего в несколько команд, единственное что я это всё делал под sudo:
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz tar -xvf Python-2.7.5.tgz cd Python-2.7.5 ./configure make sudo checkinstall dpkg -r python
Сильно ничем не отличается от, описанной в этой статье, за исключением версии.
Теперь всё готово к началу сборки самого RidgeRun, для этого нужно отправить запрос на странице http://www.ridgerun.com/downloads самого SDK, и на почту придёт ссылка для скачивания, главное из списка нужно выбрать нужную сборку в поле Evaluation SDK Request, в моём случае это DM368 DM365 (for Leopardboard).
После скачивания, так же нужно указать права на файл и выполнить:
sudo chmod a+x RidgeRun-SDK-DM36x-Turrialba-Eval-Linux-x86-Install.bin ./RidgeRun-SDK-DM36x-Turrialba-Eval-Linux-x86-Install.bin
Устанавливать можно много раз, в разные папки, фактически установщик просто распаковывает файлы, так что, например /home/demo/devdir отлично подойдёт. После установки надо зайти в директорию установки и сконфигурировать SDK:
cd /home/demo/devdir make config
Сначала make загрузит необходимые пакеты для RidgeRun в папку downloads, и откроется сам конфигуратор, в настройках Installer Configuration, в меню Firmware deployment mode, в качестве метода установки для начала, лучше конечно выбрать SD card.
После выхода из конфигуратора, будет создан файл, bspconfig в папке images, собственно и есть конфигурация BSP. Перед сборкой можно дополнительно проверить пути:
cd /home/demo/devdir make env
И попробовать собрать SDK
make
Если же получаем ошибку сборки if (!defined(@val)) { то придётся в ручную удалить defined что бы получилось просто if (!@val) {, и перезапустить процесс сборки. Вообще нужно быть готовым к любым неожиданностям, например, так как в конфигураторе если выбрать что- то другое кроме Hello Word example, например QT Hello World application, то сборка уже не пройдёт. Не пройдёт из-за того что make ищет пакет QT, которого по этому адресу уже нет. По этому, лучше всего сначала просто попробовать собрать SDK.
Результаты сборки, все в каталоге /home/demo/devdir/images, но там нет необходимого нам img файла, что бы его создать нужно, выполнить:
make install
После чего, в папке images будет создан образ SD карточки, sdcard.img, который нужно осталось записать. У меня так и не получилось подружить VirtualBox с card reader, поэтому я использую Win32 Disk Imager.
Если всё хорошо собралось, можно попробовать собрать пример Qt, для этого нужно скачать файл http://pkgs.fedoraproject.org/repo/pkgs/qt/qt-everywhere-opensource-src-4.8.4.tar.gz (пока что он находится тут, может его опять переместят, и его можно будет найти по имени файла) в папку downloads самого SDK. Так же создать одноимённый файл с приставкой sha1, по образу и подобию остальных, qt-everywhere-opensource-src-4.8.4.tar.gz.sha1, а сам sha1 можно взять со страницы файла, т.е. 89c5ecba180cae74c66260ac732dc5cb, и пустой файл qt-everywhere-opensource-src-4.8.4.tar.gz.verified, что бы «обмануть» make, как будто он сам его уже скачал и проверил.
Для примера с GStream, нужно его собрать и поставить, уже должны быть установленные библиотеки autoconf automake autopoint libtool (см. выше), и нужно скачать сам GStream:
wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.2.3.tar.xz
Распаковываем, конфигурируем, собираем, устанавливаем:
./autogen.sh --noconfigure && GST_PLUGINS_GOOD_DIR=$(pkg-config --variable=pluginsdir gstreamer-plugins-bad-1.0) ./configure make make install
так же лучше добавить плагинов:
wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.2.3.tar.xz ./configure --prefix=/usr \ --with-package-name="GStreamer Base Plugins 1.2.3 BLFS" \ --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/" && make make install
Осталось, заново запустить сборку sdk, я предпочитаю перед сборкой делать
make clean
что бы получить «чистый» образ.
В завершении, хочу заметить, что ваши приложения, можно положить в папку myapps, самого sdk, только прописать их в конфигах по образу и подобию примеров, что бы с ними можно было работать из меню. И при конфигурировании, не забыть указать настройки сети в меню Generic SDK configuration, (IPv6 не работает вообще, может быть потому, что это eval версия, а может никогда и не работало).
Полезные ссылки:
Официальный сайт RidgeRun SDK: http://www.ridgerun.com
RidgeRun SDK Wiki: https://developer.ridgerun.com/wiki
Распостранённые ошибки RidgeRun SDK: https://developer.ridgerun.com/wiki/index.php?title=Common_RidgeRun_SDK_issues_and_how_to_solve_them
Начало работы с платой Leopard Board DM365:
http://processors.wiki.ti.com/index.php/Beginners_guide_for_Leopard_Board_DM365#Running_a_.22Hello_LeopardBoard.21.22_program
Code Sourcery ARM toolchain 2009q1-203: https://developer.ridgerun.com/wiki/index.php?title=Code_Sourcery_ARM_toolchain_2009q1-203
DVSDK 4 DM365: http://wiki.linpert.de/index.php?title=Dvsdk_dm365-evm_4_02_00_06_setuplinux
ссылка на оригинал статьи https://habrahabr.ru/post/314848/
Добавить комментарий