Перейти к содержанию

    

Графика для Linux.

Здравствуйте!

Задача: разработать панель оператора 320х240.

За основу выбрана отладочная плата Cirrus Logic EDB9315A.

Основная сложность в том, что программировать GUI будут программеры заказчика. Надо создать для них примеры и т.д.

 

Начал я с QT, но поговорив с Trolltech'ом, узнал, что лицензирование дорого (от Э7500 со средами разработки) и запутанно (пока на разобрался до конца).

 

Linux использовать придеться (и хочется!), иначе потянутся другие сложности.

 

Вопрос: что посоветуете для графики?

 

P.S. Если есть проблемы с заливкой платы, см. сюда arm.cirrus.com/docs/2.6/x160.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Здравствуйте!

Задача: разработать панель оператора 320х240.

За основу выбрана отладочная плата Cirrus Logic EDB9315A.

Основная сложность в том, что программировать GUI будут программеры заказчика. Надо создать для них примеры и т.д.

 

Начал я с QT, но поговорив с Trolltech'ом, узнал, что лицензирование дорого (от Э7500 со средами разработки) и запутанно (пока на разобрался до конца).

 

Linux использовать придеться (и хочется!), иначе потянутся другие сложности.

 

Вопрос: что посоветуете для графики?

 

P.S. Если есть проблемы с заливкой платы, см. сюда arm.cirrus.com/docs/2.6/x160.html

 

У Trolltech есть старые версии open-source qtopia (например, qtopia-free-2.1.0), которые идут не по dual-license, а по обычной GNU GPL лицензии. Поэтому, если заказчик программирует для себя, или открытие исходников не является для него проблемой, то можете смело ставить эту версию QTopia и использовать ее для коммерческого проекта.

 

Если открытие исходников не входит в планы, то похоже из бесплатного кроме как FLTK особых вариантов нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

qt не рекомендую, лучшее(из бесплатного) чем я пользуюсь и мне нравится это wxWidgets к тому же к нему есть опен сорс редактор форм, вобщем вот ссылки:

http://wxwidgets.org

http://wxformbuilder.org/

 

вот скрины готовых интерфейсов: http://www.wxwidgets.org/about/screensh.htm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
qt не рекомендую, лучшее(из бесплатного) чем я пользуюсь и мне нравится это wxWidgets к тому же к нему есть опен сорс редактор форм, вобщем вот ссылки:

http://wxwidgets.org

http://wxformbuilder.org/

 

вот скрины готовых интерфейсов: http://www.wxwidgets.org/about/screensh.htm

 

А можно узнать причины неприязни к QT?

Или это из серии - "я знаю только Delphi, поэтому Delphi круче"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

wxWidgets вообще-то не есть GUI.

Это некий довольно убогий фреймворк с кучей далеко не embedded функций тесно привязанный к PC платформе.

Смотрите сами: http://docs.wxwidgets.org/stable/wx_functions.html#functions

Шансы поставить его на голую платформу близки к нулю.

 

Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций.

Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler.

В переводе это типичный obfuscator. Т.е. портирование затруднено до предела.

Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а

 

 

 

А можно узнать причины неприязни к QT?

Или это из серии - "я знаю только Delphi, поэтому Delphi круче"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А можно узнать причины неприязни к QT?

Или это из серии - "я знаю только Delphi, поэтому Delphi круче"?

 

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

 

wxWidgets вообще-то не есть GUI.

Это некий довольно убогий фреймворк с кучей далеко не embedded функций тесно привязанный к PC платформе.

Смотрите сами: http://docs.wxwidgets.org/stable/wx_functions.html#functions

Шансы поставить его на голую платформу близки к нулю.

 

Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций.

Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler.

В переводе это типичный obfuscator. Т.е. портирование затруднено до предела.

Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а

 

мда... довольно веселый ответ особенно еси учесть что(надеюсь вы понимаете английский):

 

"wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature."

 

далее идете и читаете вот это http://www.wxwidgets.org/about/datasheets/...etsEmbedded.pdf

и это http://www.wxwidgets.org/docs/embedded.htm

 

если это называется "тесно привязанный к PC" и "вообще-то не есть GUI" значит я испанский летчик... а насчет убогости... вы просто видать не писали интерфейсов на чистом ассемблере....

 

а вообще нужно сказать что на вкус и цвет фломастеры разные...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Здравствуйте!

Задача: разработать панель оператора 320х240.

За основу выбрана отладочная плата Cirrus Logic EDB9315A.

Основная сложность в том, что программировать GUI будут программеры заказчика. Надо создать для них примеры и т.д.

 

Начал я с QT, но поговорив с Trolltech'ом, узнал, что лицензирование дорого (от Э7500 со средами разработки) и запутанно (пока на разобрался до конца).

 

Linux использовать придеться (и хочется!), иначе потянутся другие сложности.

 

Вопрос: что посоветуете для графики?

 

P.S. Если есть проблемы с заливкой платы, см. сюда arm.cirrus.com/docs/2.6/x160.html

Вы можете выложить свой исходный код и Trolltech не попросит у Вас ни цента. Вряд ли кому-то будет особый зыск с GUI Вашего проекта... мало того, можете еще накатать пару статей в журналы, мол "программирование Qt под встроенные системы" с ссылками на свой проект. Ведь лицензия Qt обязывет раскрыть только код для...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекламой нам мозги кормить не надо, тем более такой не убедительной.

Можете показать что сами сделаи на wxwidgets?

И каким образом они к вам попали, в смысле получили вы их готовыми на чужом KIT-е или портировали сами.

 

 

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

мда... довольно веселый ответ особенно еси учесть что(надеюсь вы понимаете английский):

 

"wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature."

 

далее идете и читаете вот это http://www.wxwidgets.org/about/datasheets/...etsEmbedded.pdf

и это http://www.wxwidgets.org/docs/embedded.htm

 

если это называется "тесно привязанный к PC" и "вообще-то не есть GUI" значит я испанский летчик... а насчет убогости... вы просто видать не писали интерфейсов на чистом ассемблере....

 

а вообще нужно сказать что на вкус и цвет фломастеры разные...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Замечательная дискуссия получается!

Настоящий индеец должен всё попробовать (не в смысле шмали, конечно), но не сразу.

 

По поводу wxwidgets...

У меня целевая система 64 MB RAM, 16 MB flash. Увеличитвать память затратно. Можно поставить диск на компакт-флэши, но крайне не желательно из-за суровых условий применения (нефтепромысел).

В связи с этим вопросы:

1. если применять wxwidgets, то какой порт - wxX11 или wxGTK?

2. будет ли X11 нормально работать на такой машине? Если ли порт X11 для EDB9315 или рецепт как его изготовить? Надо будет спросить на форуме Cirrus'a.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
wxWidgets вообще-то не есть GUI.

Это некий довольно убогий фреймворк с кучей далеко не embedded функций тесно привязанный к PC платформе.

Смотрите сами: http://docs.wxwidgets.org/stable/wx_functions.html#functions

Шансы поставить его на голую платформу близки к нулю.

 

Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций.

Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler.

В переводе это типичный obfuscator. Т.е. портирование затруднено до предела.

Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а

wx даавно смотрел - не понравилось :( поэтому не скажу хорош он или плох

а про Qt - в данном случае "нефиг на зеркало пенять" - при минимальном знании английского (для прочтения доки) он настраиваеться так-как нужно автору ....MOC зоветься автоматом - и нужен для работы связки signal-slot - и это более правильно чем Борландовское творение (VCL - Delphi & Builder с добавлением несуразностей в язык).Qt в данном случае совершенно прозрачен и собираеться пачкой компиляторов без лишних(ну еслим честно они бывают) телодвижений.

про память .... я в свое время ради прикола - прочитавши qtopia на ngw100(ngw100 это эвалюшен для avr32 ap7000) запихал на него нечто для красивого отбражения состояния железки - загрузку проца,памяти ,сколько пролетело через езернеты и по цепрчкам iptables ну и остальной фигни какую смог придумать - на плате 32 метра оперативки и оставалась примерно 4M ....

Цена да - кусаеться в свое время покупали за 2500*2 (две платформы) но это было 4 года назад (еще 3 версия)...Щаз незнаю - 4 покупали без моего участия ....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций.

Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler.

В переводе это типичный obfuscator. Т.е. портирование затруднено до предела.

Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а

 

Не стоит быть таким категоричным в вещах, в которых не разбираетесь.

QTopia отлично портируется на embedded Linux, так как работает напрямую через framebuffer.

Кроме того, перед компиляцией библиотеки пользователь может сам выбрать при помощи QConfig какая функциональность ему нужна - соответственно можно уменьшить размер, выбрав только нужные фичи. Лет 6-7 назад, когда память была дорогая, у меня довольно сложное приложение на QT отлично крутилось на SA1110 c 16 Мб RAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Решил пока остановиться на QT. Всё таки Cirrus кое как это поддерживает. Для EDB9315 есть тулчейн, который автоматически лепит бибилотеки QT и окружение рабочего стола OPIE. Так же есть инструмент, который эмулирует фреймбуфер для Х11. То есть можно запускать приложение на ПК, и оно, вроде как, должно выглядеть как на контроллере.

Пока сумел запустить Hello world! из примеров на плате и на ПК. Это получилось не сразу.

 

Чтобы установить QT/X11 делай раз:

#do-all

#Создать директрию "qtx11" там же, где находится linux-crater_1-0-3/

#копировать и запустить скрипт:

#sourse do-all

wget http://vanille.de/tools/uic-qt2

chmod u+rx uic-qt2

wget http://vanille.de/tools/qvfb-qt2

chmod u+rx qvfb-qt2

wget ftp://ftp.trolltech.com/pub/qt/source/qt-....10-free.tar.gz

tar zxvf qt-embedded-2.3.10-free.tar.gz 1>/dev/null

cd qt-2.3.10

export QTDIR="$(pwd)"

mkdir bin

ln -s $QTDIR/../uic-qt2 bin/uic

ln -s $QTDIR/../qvfb-qt2 bin/qvfb

chmod 666 src/kernel/qpixmapcache.cpp src/kernel/qwindowsystem_qws.h src/tools/qvaluestack.h

patch -p1 < ../../linux-crater_1-0-3/packages/qt/qt-2.3.10-gcc4.1.1-fix.patch

yes yes |./configure -qconfig "" -depths 4,16,24,32 -system-jpeg -system-libpng -system-zlib -no-xft -qvfb

make

export PATH=$QTDIR/bin:$PATH

 

Чтобы запустить фреймбуфер делай два:

#runfb

#запускает фреймбуффер

#source runfb

export QTDIR=$PWD/qt-2.3.10

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

qvfb -width 320 -height 240 &

sleep 5

 

Чтобы поздороваться с миром делай три:

#run-t1

#завускает Hello world! из примера

#source run-t1

source runfb

$QTDIR/tutorial/t1/t1 -qws &

 

Как скомпилирвать этот же пример для EDB9315A в linux-crater напишу попозже, если кому то интересно...

Там я много ковырялся, и не только с QT. В общем, работать можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
cd qt-2.3.10

это реально 2 ветка ? брось каку - возьми 3 хотя-б , лучше 4 но тут смотреть надо что лучше к задече подходит .... она приятнее(4) но и более массивная ....

по qt тут можно поспрошать ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пришлось однажды использовать Nano-X. В качестве элементарного GUI сойдет (кнопки, простейшие окошки). Размер 100кб, правда проект уже довольно давно не развивается. Включен в дистрибутив uClinux.

Почему никто не предложил использовать библиотеку GTK? По-моему неплохая альтернатива QT

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация