Название: Особенности разработки под arm без fpa Отправлено: Rcus от Август 08, 2009, 19:32 Тема для меня новая, некоторые моменты до сих пор неясны. Целевая система основана на PXA270 (armv5 без математического сопроцессора с интеловским расширением iwmmx), приложения собираются кросс-компилятором gcc 4.3.3 с жестко включенным --soft-float, glibc 2.9 (тоже --soft-float и пара патчей, сейчас не назову набор), qmakespec=qws/linux-arm-g++.
Есть несколько проблем: 1. При динамической сборке Qt любое приложение падает с сегфолтом на инициализации фреймбуффера (сегфолт совершенно левый, где-то мой косяк, но где...). При статической сборке все в порядке, но причина так и не выяснена. 2. Хотелось бы узнать о специфичных для такого железа методах оптимизации работы с графикой, в частности, с QPainterPath (ясно что лучше обходиться без него где возможно, но может я что-то упускаю из виду) 3. Минимальная возможная сборка: qws конфиг тянет QtNetwork в QtGui (для организации ipc), а QtNetwork не собирается с -qconfig minimal (4.5.2). 4. Настройка CMake для кросскомпиляции (при помощи тщательного изучения /usr/share/cmake-2.6/Modules/FindQt4.cmake было найдено решение заставляющее cmake брать другой набор библиотек при помощи переменных окружения, но хотелось бы чего-нибудь прямее) Название: Re: Особенности разработки под arm без fpa Отправлено: Rcus от Август 21, 2009, 09:10 status update:
1. С soft-float (надеюсь что именно с ним) вскрылись еще интересные проблемы: на некоторых числах преобразование числа в строку зацикливается где-то в глубинах _qdtoa. Впрочем, простое решение в виде определения QT_QLOCALE_USES_FCVT пока достаточно (проблемы будут в случае если из разных потоков обращаться к преобразованиям) 3. Минимальный конфиг уже не нужен - понадобилось прикрутить QtScript (требует включения некоторых фич) и QtUiTools (требуется фигурной расстановки макросов в глубинах tools/designer/src). Первоначальная проблема решается простой расстановкой недостающих QT_NO_HTTP, QT_NO_TEMPORARYFILE в src/network/access. 4. CMake оставлен как есть, каждая конфигурация обернута в шелл :\ |