реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> MicroWindows, как подступиться
Johny
сообщение Apr 11 2006, 06:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 18-10-05
Пользователь №: 9 792



Начал заниматься embedded системами. Выбрал в качестве аппаратной платформы Kontron Xboard на PXA255 с TFT - панелькой 640х480. Портированный Kontron'ом Linux 2.4.19 заработал, но там нет MicroWindows (ради графики все и затевалось). Взял скомпилированную microwindows-arm_tag-0.90-6.arm.rpm из комплекта ELDK, проставил в загрузочный root на development машине вместе с glibc из того же ELDK (загрузка по сети bootp/tftp/nfs). Пытаюсь запустить на taget:
# nano-X
cannot bind to named socket
Хорошо в faq'ах нашел, что nano-X не может создать/удалить named socket "/tmp/.nano-X". У меня каталога /tmp просто не было. Создал.
Дальше поругалась на отсутствие fb0 и tty0
Создал символические ссылки:
# ln -s /dev/fb/0 /dev/fb0
# ln -s/dev/tty /dev/tty0

Теперь при запуске nano-X чистится экран и ничего. А при запуске с терминала на development машине пишет:
# nano-X
Error setting graphics mode: Invalid argument
Cannot initialiase screen

На сайте www.wicrowindows.org куча описаний API, но как запустить nano-X - практически ничего не нашел. Описаний ключей для запуска - нет, как установить режим - нет. Более того, скаченный оттуда сорц не захотел компилироваться - нет файла assert.h, string.h и так далее, куча ошибок при компиляции fblin8.c. Что интересно, это драйвер для 8bpp, а я в конфигурации указывал MWPF_TRUECOLOR565 для 16bpp. Получается скомпилированный microwindows может переключать режимы?

Помогите кто чем может. Заранее благодарен.
Go to the top of the page
 
+Quote Post
Johny
сообщение Apr 13 2006, 09:04
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 18-10-05
Пользователь №: 9 792



Посмотрел по исходникам. Похоже nano-X при запуске опрашивает fb0 для определения разрешения/глубины цвета. Ошибка Error setting graphics mode: Invalid argument выскакивает на удаленной консоли при попытке перевести ее в графический режим.
Говорят к X-серверу надо ставить диспетчер окон. Какой обычно используется с nano-X?
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 13 2006, 12:33
Сообщение #3


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



1. Прежде чем пускать что-либо на embedded платформе следует отработать это на host'е.
2. Если nano-x работает поверх fb, то следует для начала настроить/проверить fb, например с помощью fbset
3. диспетчер окон можно поставить любой - вопрос только в количестве свободной памяти и мощности cpu, самый мелкий обычно - twm.
Go to the top of the page
 
+Quote Post
Johny
сообщение Apr 14 2006, 15:43
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 18-10-05
Пользователь №: 9 792



Цитата
1. Прежде чем пускать что-либо на embedded платформе следует отработать это на host'е.

На Embedded намного проще. Иначе замучаешься host перенастраивать.

Удалось перекомпилировать microwindows. Почему-то компилируется только GCC из ELDK, причем где у него прописаны пути к системным хедерам, я не понял. Лежат они почему-то в /opt/eldk/arm/usr/lib/include.
Кроме того, в config пришлось установить SCREEN_PIXTYPE = MWPF_PALETTE (8bpp), иначе линкер выдавал ошибку линковки макросов PIXELVALTOCOLORVAL и COLORVALTOPIXELVAL в /engine/devdraw.c.
Еще в config пришлось отключить все функции, использующие libz.a, ибо линковщик не захотел линковать /usr/lib/libz.a хост-машины. А при попытке указать путь к /opt/eldk/usr/bin/libz.a, компилятор захотел ее собрать, но не нашел правил.
Путем вставления printf-ов в разные места srvmain.c, с перенаправлением вывода на ttS0, удалось выяснить, что не инициализируется мышь. Почему-то родной EPRINTF("Cannot initialise mouse\n") ничего не выводил.
Отключил мышь в конфигурации - вроде заработало. По крайней мере при запуске примера:
#nan0-X & sleep 1 ; mdemo
рисуются голубые пингвины (палитра 8bpp вместо 16bpp?), окно и органы управления. Но клавиатурный ввод идет непонятно куда. Программа mterm ругается, что не может создать ptyp0.
Что скажете?
Go to the top of the page
 
+Quote Post
Harbour
сообщение Apr 15 2006, 05:27
Сообщение #5


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Проверить включена ли в ядре поддержка ptys и есть ли файл /dev/ptmx и директория /dev/pts
Go to the top of the page
 
+Quote Post
ryhor
сообщение Apr 18 2006, 10:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 3-04-06
Пользователь №: 15 742



Что то вы не с того начали - на мой взгляд.
microwindows замечателеная вещь - там есть чудный документ на несколько страниц с описанием его архитектуры. там в частности сказано:
- наврех он поставляет два набора API на выбор
- снузу ему надо поставить 5 (вроде) функций для рисования - смысла PutPixel GetPixel DrawLine FillRect - уже могу что то напутать. На базе этих функций он сам рисует все остальное.

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

т.е. конструкция такая

[примитивы] ->[микровиндовс] ->[API] -> [app]

Далее - в наборе поставляется несколько разных [примитивов] - в частности для fb0 - для работы над фреймбуфером. Эти [примитивы] могут облечить вам жизнь - так как, например, фреймбуфер есть много где. Но зато они и не оптимальны.

Т.е. у вас есть варианты
- поиметь нормальный фреймбуфер - такой какой ждет готовая уже прослойка [примитивов] в комплекте микровиндовса
- написать свою прослойку для него с этими 5 функциями.

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

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

Рекомендую придерживаться данного плана
Если есть вопросы - спрашивайте, но сейчас у меня не развернуто ничего реального.
Go to the top of the page
 
+Quote Post
Johny
сообщение Apr 19 2006, 13:02
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 18-10-05
Пользователь №: 9 792



Посоветуйте, какой API применять? APIW (Win32) как-то привычнее.

А мышка мне без надобности - в устройстве только кнопки будут.

Посмотрел по исходникам - такое впечатление, что управление окнами с клавиатуры не предусмотрено, кроме ESC - выход. Так ли это?
Go to the top of the page
 
+Quote Post
ryhor
сообщение Apr 19 2006, 17:57
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 3-04-06
Пользователь №: 15 742



Цитата(Johny @ Apr 19 2006, 17:02) *
Посоветуйте, какой API применять? APIW (Win32) как-то привычнее.

А мышка мне без надобности - в устройстве только кнопки будут.

Посмотрел по исходникам - такое впечатление, что управление окнами с клавиатуры не предусмотрено, кроме ESC - выход. Так ли это?


если win32 привычнее - конечно его и берите. у нас он же был - потому что программист с винловса был - он ловка освоил и начал на микровиндовсе колбасить.
по верхнему API много не могу сказать - я с ним практически не разбирался

кнопки... не помню уже - нокнопки были точно - причем была система окон... там вроде как то информировалось система что нажималась внопка - а слой работающий с самими кнопками сам писал. что то там простое было - вот и не запомнилось.
в том же документе должно быть как ввод нажатий/курсора обслуживать.
Go to the top of the page
 
+Quote Post
grigorybold
сообщение Jul 3 2006, 09:40
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 32
Регистрация: 8-01-05
Из: г. Воронеж
Пользователь №: 1 845



Цитата
Что то вы не с того начали - на мой взгляд.
microwindows замечателеная вещь - там есть чудный документ на несколько страниц с описанием его архитектуры. там в частности сказано:
- наврех он поставляет два набора API на выбор
- снузу ему надо поставить 5 (вроде) функций для рисования - смысла PutPixel GetPixel DrawLine FillRect - уже могу что то напутать. На базе этих функций он сам рисует все остальное.

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


Никто не пробовал, скажем в СBuilder6 для конвы написать PutPixel GetPixel DrawLine FillRect, прикрутить исходники микровиндоус и файлы примерчика и компильнуть всё это.
Может посоветуете более лёгкий способ разобраться какой исходник к чему относится.
Просто когда я открыл проект микровиндоус то увидел кучу исходников и make- файлов к ним. Кок известно под виндой make- файлы не популярны.
Go to the top of the page
 
+Quote Post
unichorn
сообщение Jul 5 2006, 13:09
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 96
Регистрация: 24-09-05
Пользователь №: 8 901



Народ, это у меня только неполучается зайти на этот сайт
http://www.wicrowindows.org/ или у других тоже sad.gif
может ктонибудь сбросит nano-x на мой адрес. unichorn [ тузик ] rambler тчк ru.
Заранее спасибо.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 5 2006, 13:36
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Очепятка, должно быть www.microwindows.org

UPD: Действительно не ходит sad.gif Ждите, пока поднимут.
Go to the top of the page
 
+Quote Post
unichorn
сообщение Jul 5 2006, 13:39
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 96
Регистрация: 24-09-05
Пользователь №: 8 901



Нее результат тотже sad.gif
Понятно.

Сообщение отредактировал unichorn - Jul 5 2006, 13:40
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jul 5 2006, 14:23
Сообщение #13


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(unichorn @ Jul 5 2006, 17:39) *
Нее результат тотже sad.gif
Понятно.
У меня толко что открылось. Сейчас на мыло вышлю.

Так еще поробуйте
ftp://microwindows.censoft.com/pub/microwindows/
Go to the top of the page
 
+Quote Post
unichorn
сообщение Jul 6 2006, 06:03
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 96
Регистрация: 24-09-05
Пользователь №: 8 901



Огромное спасибо всем откликнувшимся.

Так открылось.
ftp://microwindows.censoft.com/pub/microwindows/

Письмо получил.
Go to the top of the page
 
+Quote Post
grigorybold
сообщение Jul 12 2006, 12:02
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 32
Регистрация: 8-01-05
Из: г. Воронеж
Пользователь №: 1 845



После долбежа с конфигуратором всё-таки нано-х компильнулось под asp-линуксом вместе с примерами (запускал demo.sh и другие сценарии - прикольно). Чтобы компильнулось и заработало под линуксом надо компилить с драйверами для X-11 (а не как с фрэймбуфером - по умолчанию).
Под виндой-же пока поставить выше названный эксперимент пока не получается.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 10:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01492 секунд с 7
ELECTRONIX ©2004-2016