Skip to content

Настройка рабочего окружения

Yurii Litvinov edited this page Jun 5, 2014 · 20 revisions

Установка и настройка SDK

  • Скачиваем последнюю версию с http://195.19.241.150//packages/updates/sdk/

  • Если нужно делаем скаченный файл исполняемым chmod a+x trik-sdk-i686-armv5te-toolchain-trik-oe-core.0.sh

  • Устанавливаем sudo ./trik-sdk-i686-armv5te-toolchain-trik-oe-core.0.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'
  • Теперь можем использовать cmake, qmake и др.

Настройка minicom

  • 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
  • Использование
    • теперь вызвав команду sudo minicom у вас будет выводит консоль загрузки linux.

Настройка Putty

  • Скачать и поставить драйвера для 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 под Linux для кросскомпиляции и автоматического деплоя на робот

Кросскомпилировать программу можно из командной строки, а запускать --- удалённой консолью, но хочется уметь это делать прямо из креатора. Для этого потребуется несколько действий:

  • Запускаем 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 с командой scp и аргументами "-p -r -B -C <путь до того места, куда собирается ARM-овский билд>/* root@<ip-шник робота>:/home/root/trik", например, "-p -r -B -C /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 Запускаем проект, проверяем, что на роботе запустился наш собранный бинарник.

Clone this wiki locally