-
Notifications
You must be signed in to change notification settings - Fork 53
Настройка рабочего окружения
Dmitry Mordvinov edited this page Feb 20, 2016
·
20 revisions
-
Скачиваем последнюю версию с http://downloads.trikset.com/updates/sdk/latest-trik-sdk.sh
-
Если нужно делаем скаченный файл исполняемым chmod a+x latest-trik-sdk.sh
-
Устанавливаем sudo ./latest-trik-sdk.sh -d /opt/trik-sdk/
-
Заходим в /opt/trik-sdk/, выполняем source ./environment-setup-armv5te-oe-linux-gnueabi
- Эту команду имеет смысл вписать как alias в .bashrc, например
alias oecore='. /opt/trik-sdk/environment-setup-armv5te-oe-linux-gnueabi'
- Эту команду имеет смысл вписать как alias в .bashrc, например
-
Теперь можем использовать cmake, qmake и др.
- sudo minicom -s
- выбираете опцию Serial Port setup
- пункт меню A - Serial Device - /dev/ttyUSB0(в зависимости на каком интерфейсе поднялся провод).
- F- Hardware Flow Control - no
- G - Software Flow Control - no
- esc -выход из меню.
- пункт меню Modem and Dialing
- в пунктах меню - A-L -стереть все что в них написано
- После этого нажать на пункт меню Save setup as dfl
- exit
- пункт меню A - Serial Device - /dev/ttyUSB0(в зависимости на каком интерфейсе поднялся провод).
- Использование
- теперь вызвав команду sudo minicom у вас будет выводит консоль загрузки linux.
- Скачать и поставить драйвера для UART: http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx
- Запустить Putty
- Выбрать в окне Session Connection type Serial, указать COM-порт, соответствующий UART-у.
- Speed --- 115200
- В окне Connection/Serial Parity и Flow Control установить в None
- Сохранить сессию для последующего использования
- Подключиться, нажать ctrl+C
Кросскомпилировать программу можно из командной строки, а запускать --- удалённой консолью, но хочется уметь это делать прямо из креатора. Для этого потребуется несколько действий:
- Запускаем Qt Creator.
- Идём в Tools -> Options -> Devices, жмём Add, выбираем тип Generic Linux Device, затем Start Wizard, следуем указаниям. Робот должен быть включён, его ip-шник известен и находиться в одной сети с инструментальной машиной. Когда ip-шник робота поменяется, в получившемся девайсе его надо будет не забыть поправить.
- Идём в окно опций Build & Run, там на вкладке Compilers жмём Add, GCC, в Compiler path указываем путь до кросскомпилятора из trik-sdk, например, /opt/trik-sdk/sysroots/i686-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++
- На вкладке Debuggers поступаем аналогично
- На вкладке Qt Versions версия Qt для кросскомпилятора уже должна была мистическим образом появиться, это легко проверить по qmake Location, должно быть что-нибудь вроде /opt/trik-sdk/sysroots/i686-oesdk-linux/usr/bin/qmake, если нет, то надо добавить, указав примерно такой путь до qmake
- На вкладке Kits жмём Add, Device Type выбираем Generic Linux Device, Device --- тот, который мы создали ранее на вкладке Devices, Sysroot --- путь до sysroot-а целевой машины в Trik SDK, например, /opt/trik-sdk/sysroots/armv5te-oe-linux-gnueabi, Compiler и Debugger заполняем созданными ранее компилятором и отладчиком, Qt version --- созданной на предыдущем шаге версией, Qt mkspec оставляем пустой.
- Говорим Ok в окне опций
- Открываем проект, который хотим кросскомпилировать, например, trikRuntime.pro.
- Идём во вкладку Projects слева в главном окне.
- Выбираем в качестве kit-а только что созданный kit, хотя это, скорее всего, и так уже сделано, сверху должно быть написано имя kit-а
- В Build Environment жмём Batch Edit и копипастим туда содержимое файла /opt/trik-sdk/environment-setup-armv5te-oe-linux-gnueabi (того самого скрипта, который используется при консольной сборке для установки переменных окружения). Проблема в том, что Qt Creator не умеет подставлять переменные окружения в определениях других переменных окружения, так что это придётся проделать вручную: найти всё, что начинается с $, и скопипастить вместо переменной её значение, которое должно быть выше. Особое внимание следует уделить PATH, потому что к содержимому системного PATH надо дописать то, что хочет дописать trik-sdk. Этот шаг весьма нудный и есть подозрение, что его можно не делать. Кроме того, если запускать Qt Creator из консоли с уже выставленными скриптом переменными окружения, этот шаг можно не делать точно, но тогда нельзя будет легко и приятно переключаться на десктопный билд, зачем бы это ни было нужно.
- Компилируем проект, проверяем, что всё хорошо. Если всё правильно, должно компилироваться без ошибок.
- Настраиваем деплой: опять же, во вкладке Projects, переключаемся на Run
- Удаляем все шаги из раздела Deployment, добавляем Custom remote command "killall trikGui; cd ." --- чтобы перед деплоем запущенный trikGui прибивался.
- Добавляем Custom Process Step с командой rsync и аргументами " rsync -avz -e ssh <путь до того места, куда собирается ARM-овский билд>/* root@<ip-шник робота>:/home/root/trik", например, "-avz -e ssh /home/yurii/trikRuntime/bin/arm-release/* root@192.168.0.118:/home/root/trik" (без кавычек). Обратите внимание, что если ip-шник робота поменялся, эту команду надо тоже поменять.
- Редактируем Run, Run configuration устанавливаем в trikGui (скорее всего, и так), ставим галочку "use this command instead" и пишем рядом "/home/root/trik/trikGui", Arguments --- -qws Запускаем проект, проверяем, что на роботе запустился наш собранный бинарник.