LINUX.ORG.RU

Разработка в Qt для Arm

 ,


1

2

Доброго времени суток.Стоит цель писать программу под arm железяку(СM-FX6). Подскажите в правильную сторону ли я иду. Мне бы хотелось что бы я разрабатывал приложение в Qt на ПК и мог заливать бинарник в плату и отлаживать его там с ПК.

На данный момент на железяке стоит Ubuntu, а также gbtserver(связка GBT и gbtserver у меня сейчас работает под терминалом:)) В Qt делаю свой комплект,проверяю связь по SSH - плата отвечает, но загвоздка - не получается добавить в комплект компилятор АРМ(он установлен и им компилил «привет мир», запускал бинарник на плате). Соответственно и проект собрать не получается...Что я не улавливаю?

Qt был установлен Qt 5.5.0 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64 бита)

Добавь в Qt новый тулчейн, укажи пути к кросс-компилятору и qt-либам, собранным этим компилятором. После этого все взлетит.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

Путь к компилятору прописан (/usr/local/arm/LinArm/bin/arm-linux-gnueabihf-g++). А вот либы qt я им не собирал.Подскажите что за либы нужно собрать или где про это почитать?Новый тулчейн = новый комплект?

NikishinRoman
() автор топика
Ответ на: комментарий от NikishinRoman

Я это только с 4-ми кутями проделывал.

Путь примерно такой: берутся исходники Qt, с помощью qmake (или qconfig? или там какой-то скрипт специальный для сборки Qt?) запускается сборка Qt с помощью кросскомпилятора для нужной платформы. После этого у вас будет qmake, который умеет в кросскомпиляцию. Его нужно будет указать вместе с кросскомпилятором в настройках тулчейна в креаторе.

trex6 ★★★★★
()
Ответ на: комментарий от NikishinRoman

Да, очень похоже на правду. Я правда под OMAP и TEGRA заводил.

Пробуйте, если что-то совсем не пойдет - пишите.

trex6 ★★★★★
()

Советую тебе сменить Ubuntu на buildroot:
1) выиграешь больше пространства
2) будешь точно знать какие пакеты у тебя собраны.
3) там же можешь и собирать qt.
4) выбрать систему инициализации отличную от убунтовской.

На устройстве поднимешь dropbearssh, gdbserver, через qtcreator сможешь сразу и программировать и отладку проводить прямо на устройстве.

splinter ★★★★★
()

Подскажите в правильную сторону ли я иду.

Здесь ЛОР. ЛОР. Нам не важно, куда ты уже идешь - мы все равно пошлем дальше.

Pavval ★★★★★
()

Вы мешаете в кучу коней и людей.

Во-первых, Qt — это фреймворк. А Qt Creator — это IDE, средство разработки. Вырубите себе это на лбу и не пишите ахинею вроде:

В Qt делаю свой комплект
Мне бы хотелось что бы я разрабатывал приложение в Qt на ПК

Речь, вероятно, всё же идёт о Qt Creator.

EXL ★★★★★
()

Что я не улавливаю?

Из вашего поста непонятно, нужны вам на плате библиотеки фреймворка Qt, или же вы хотите просто подключить тулчейн и писать для платы простенькие приложения вроде «привет мир»?

Если последнее — то достаточно прицепить в Qt Cretor тулчейн и воспользоваться QBS. Подробнее это описано тут: http://habrahabr.ru/post/222877/

Если вы хотите использовать библиотеки Qt на вашей железке СM-FX6, то их необходимо для неё скомпилировать. Процесс компиляции не слишком сложный, но весьма времязатратный.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Речь, вероятно, всё же идёт о Qt Creator

Да.Как среду хотелось бы использовать Creator, но и + фреймоворк.

NikishinRoman
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Да не там никакого головняка, собрать прошивку на bildroot проще и эстетичнее чем держать целый дистрибутив в emedded-железке. естественно ИМХО.

splinter ★★★★★
()
Последнее исправление: splinter (всего исправлений: 1)
Ответ на: комментарий от splinter

Ну в OE не так много оверхеда от «пакетности» и «дистрибности» ;)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от trex6

https://community.freescale.com/docs/DOC-94066 По данному манулу, пытался собрать и Qt5 и Qt4.8

во время конфигурации происходят ошибки... Файл с ошибками доступен по ссылке. https://dropmefiles.com/G7iRv

Мне кажется что у меня возможно не установлены какие-то пакеты... но какие???

NikishinRoman
() автор топика
Ответ на: комментарий от trex6

Всё он открывается.

root@nikishin-System-Product-Name:~# ./ConfQt.sh

This is the Qt Open Source Edition.

You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.

You have already accepted the terms of the Open Source license.

... куча проверок ...

OpenGL auto-detection... ()
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard -O2 -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-imx6-g++ -o opengles2.o opengles2.cpp
opengles2.cpp:37:25: fatal error: GLES2/gl2.h: No such file or directory
compilation terminated.
make: *** [opengles2.o] Ошибка 1
OpenGL disabled.
The OpenGL ES 2.0 functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
 /home/nikishin/qt5/qtbase/mkspecs/devices/linux-imx6-g++.
EXL ★★★★★
()
Ответ на: комментарий от EXL

А как это можно посмотреть?(дело в том что и тулчайн и железка, такая же как в инструкции).Убрал ключ -opengl es2 , сконфигурировался.... все равно много ошибок, но утилита make теперь работает!

NikishinRoman
() автор топика
Ответ на: комментарий от NikishinRoman

Эти ошибки не ошибки, а диагностические сообщения. Конфигуратор выявляет в какие возможности может твой тулчейн и компилятор.

Если возможность фичи задана явно, а тест она не проходит — выпадает FATAL ERROR, и продолжать компиляцию дальше низзя. Как в твоём случае с -opengl es2. Если фича не задана явно и проверка выявляет её отсутствие, то фича просто молча выключается и ты можешь дальше продолжать компиляцию с помощью make.

А как это можно посмотреть?

Ну железно знать, что твоя железка поддерживает OpenGLES 2. А в тулчейне есть для этого все заголовочные файлы. Проверить это можно командой find /директория_твоего_тулчейна -name gl2.h. Если что-то выдаст, то значит гуд. Железка имеет поддержку. Выставляй правильные пути и файлы в QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /home/nikishin/qt5/qtbase/mkspecs/devices/linux-imx6-g++

EXL ★★★★★
()
Ответ на: комментарий от NikishinRoman

Настроил комплект.Прописал путь к новому qmake. Написал helloworld.Собрался.Залил по ssh файл.Запустил на плате.В терминале появилось заветное приветствие.Теперь хочу прикрутить к всему этому делу gdbserver, что бы с Creatora заливать на плату сразу...

NikishinRoman
() автор топика
Ответ на: комментарий от NikishinRoman

В терминале появилось заветное приветствие.

А зачем тебе Qt, если у тебя консольная программка?

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.