| Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
Страницы: « 1 2 3 4 5 6 7 »
Показано 31-45 из 96 сообщений
66.
Тимур
(10.03.2010 23:23)
0
Вот здесь: http://www.kodges.ru/12757-unix.-professionalnoe-programmirovanie.html лежит пиратская версия книжки, которую я очень рекомендовал (которая стоит 350 рублей на books.ru) В этой книге очень хорошо написано про mmap. Сразу же скажу, что в лицензионной книге работают ссылки и на 2 порядка меньше опечаток (эта по-видимому переводилась в PDF с помощью распознавателя).
|
65.
Серго
(10.03.2010 19:20)
0
что ж, попробую покопать в сторону mmap
|
64.
Тимур
(10.03.2010 15:33)
0
Насчет использования фрейм-буфера - хороша идея. Есть мнение, что можно попробовать его отобразить на память (mmap) и работать с памятью - должно быть быстрее.
Насчет конфигов консоли - я не в курсе.
|
63.
Серго
(10.03.2010 15:26)
0
Правда, и тут есть свои проблемки) Когда экран закрашиваешь полностью каким-либо цветом, отличным от черного - становится виден черный прямоугольник слева вверху, похоже на артефакт от текстового курсора консоли, как его убрать - пока не знаю. Да, еще одно, минут через пять бездействия гаснет дисплей. Похоже на режим энергосбережения. Но потом ничто не может заставить его засветиться вновь. Кто-нибудь знает, какой конфиг надо поправить?
|
62.
Серго
(10.03.2010 15:21)
0
Нашел решение еще проще... Прямая запись в устройство /dev/fb0 (фрейм-буфер). Открываем как файл и пишем. Обращаюсь с ним просто как с массивом длиной ширина*высота дисплея в пикселах. Каждый элемент массива - 2-байтное число, определяющее цвет точки по модели RGB (RRRRR-GGGGGG-BBBBB). Для построения графиков медленно протекающего процесса и простого интерфейса вполне сойдёт.
|
61.
Тимур
(10.03.2010 14:03)
0
vga.h это не библиотека, это только заголовочный файл. Возможно, библиотека называется как-нибудь типа libvga или похоже. Возможно, что vga.h это только один из заголовочных файлов библиотеки, тогда она может называться по-другому. В любом случае, надо искать и разбираться. Я щас не могу. Но когда будет время - попробую. Если у вас получится разобраться - напишите пожалуйста.
|
60.
Серго
(10.03.2010 10:40)
0
Нашел такую библиотеку vga.h, которая позволяет простейшими командами выводить графику прямо в консоль, то есть без X-Window и прочего. К сожалению скомпилить прогу с ее использованием не удалось, выводит ошибку: error: ''vga_init'' was not declared in this scope и так на каждую функцию из нее. Как я понял, это связано с тем, что в моем тулчейне данной библиотеки просто нет( Ее можно туда включить как-нибудь?
|
59.
Тимур
(07.03.2010 18:49)
0
Я думаю, что настроить это можно. Не знаю, нужен ли X-server или нужно что-то другое, но в любом случае, когда я ездил на семинар на завод электрооборудования (они каждый месяц проводят такие семинары), там они давали полностью подготовленный стенд, для которого мы компилировали и заливали на него программку посылающую кажется то ли по TCP/IP то ли по COM-порту (не помню уже) пакеты и получающую подтверждения. А вторая вещь,как раз была программка с окошком и кнопкой и несколькими radio-button-ами. Стенды правда были с просто Тионом, т.е. на базе Cirrus-Logic. Насколько я понимаю, завод электрообрудования Тионы-Про-270 поставляет тоже подготовленные для работы с Qt. Т.е. особо ничего делать не надо, кроме установки некоторых переменных окружения. И уж по крайней мере это не тайна и они всегда помогут вам это сделать. Я не могу в этом нормально разобраться потому что у меня ни дисплея ни тачскрина нету. Но если вы разберётесь и сможете описать ход своих мучений - я выложил бы вашу статью в том виде, как вы её написали бы в раздел, посвященный именно Тиону-Про-270. Авторство, разумеется, ваше. На результаты чужой работы я не претендую. Для регистрации в Google группе tion-sbc нужно им отсканировать и послать по электронной почте счет в оплату тиона. (Они вначале всех регили там, но потом их запарили халявщики, которые реально используют чужие платы, а вопросы задают им (при этом даже не шифруясь)).
|
58.
Серго
(07.03.2010 15:09)
0
У меня как раз ситуация с дисплеем и тачскрином. Первым делом я конечно подумал о qt, так как ее предлагают разработчики тион. Но как я понял, для ее работы требуется ещё работающий Х-сервер (или я не правильно понял?), да еще и ее надо настроить, как вы говорите. Подозреваю, что в настройке тоже полно граблей. Библиотека-то довольно большая и мощная, а мне бы простенький интерфейс и пару графиков нарисовать.
|
57.
Тимур
(05.03.2010 11:28)
0
Написанием программ для "Тиона" занимался Графику не вывожу, т.к. система, которую мы разработали - многоуровневая, т.е. интерфейс пользователя на удалённой машине, задача Тиона только собрать данные и предоставить их для скачивания по FTP.
Могу посоветовать библиотеку ncurses. Она не сложная. В инете много всего, может попозже выложу ссылки или книжки по ней. Она используется для вывода псевдографики (типа как в Нортон Коммандере для MS DOS).
Вообще же для работы с графикой лучше использовать Qt. У меня опыта работы с ней вообще нет - только то, что на семинаре мы там скомпилировали программку состоящую из окна и кнопки. Вроде там тоже не очень сложно программировать. Сложнее всё настроить правильно, чтоб компилилось и запускалось.
Вообще, выводить графику - не такая уж частая задача. Это нужно, только если у вас есть дисплей какой-нибудь. А такое редко бывает. Чаще есть удаленный доступ по RS-232, Telnet или SSH. А при таком доступе никакая графика не нужна.
|
56.
Серго
(05.03.2010 11:10)
0
Готов поклясться, что перед этим минимум два раза прошивал))
Тимур, а вы вообще написанием прог для тиона занимались? Что использовали для вывода графики?
|
55.
Тимур
(03.03.2010 14:01)
0
Уверен, что arm0815 появилось не после добавления pureftpd, а именно после пересборки КФС (а то и ядра). Т.е. до этого у вас была родная прошивка. И даже если вы её пересоберете без pureftpd сейчас будет печататься arm0815.
По поводу segmentation fault могу сказать, что у меня он был и на нетронутой, только что купленной плате и на перепрошитой мной. Происходит это когда в каталоге очень много файлов. Видимо проблемы возникают у busybox-a с аллокацией памяти достаточного объема. Проблему эту я не фиксил, а обходил путём подачи команды ls с маской, чтоб она не все файлы зараз выводила. Если вы узнаете, как её пофиксить - напишите. Уверен, что мы не первые, кто с ней столкнулись и фикс должен быть. Надо только поискать хорошо. На худой конец, можно написать свою, а в /bin ссылку перенаправить (это, конечно, не решение, но всё же, если совсем дется некуда).
|
54.
(03.03.2010 13:27)
0
Страшное дело. Пересобрал КФС с добавлением pureftpd. Раньше после загрузки системы псевдографикой писалось tion270, а теперь пишется arm0815))))))) при попытке в /dev сделать ls - пишет Segmentation fault. Пойти что-ли в церковь крещение принять...?
|
53.
Dmytro
(01.03.2010 12:43)
0
Автору большое спасибо за работу.
Кстати, если интересует, я книгу "TCP/IP КРУПНЫМ ПЛАНОМ" - переделал в chm формат. Если надо могу выслать.
Ответ: Вам спасибо за обратную связь и предложения по улучшению. Есть еще идеи, что здесь можно разместить, так что, надеюсь, проект не заглохнет слишком уж быстро.
По поводу книги в формате .chm - написал вам в письме. Выложу, если пришлёте. Вместе со "спасибом" :)
|
52.
Серго
(01.03.2010 09:41)
0
А если, к примеру, надо добавить пакет, которого нету в menuconfig?
Ответ: Если надо добавить пакет, которого нету в menuconfig, то этот пакет достаётся в исходниках (где - не скажу, т.к. зависит от пакета), компилируется с помощью toolchain-а (который описано как строить) и получаются исполняемые файлы, которые помещаются в /bin, /usr/bin, /usr/sbin, /lib или /usr/lib на плате уже. Может быть можно как-нибудь модифицировать проект КФС, добавив скаченные исходники в него и опцию соответствующую в menuconfig, но я так делать не пробовал. Да и вообще, мне хватало того, что было в menuconfig по умолчанию. Там на самом деле много всего, надо только уметь найти.
Если вы что-то ищете и не знаете где, спросите, может я знаю.
Вообще же, обычно open source проекты компилируются в 2 этапа: сначала запускается скрипт configure - он генерирует Makefile, затем даётся команда make - она строит уже нужные бинарники.
Так вот, в случае с АРМ9 configure запускается несколько сложнее, чем на PC. Например: Вызов configure для компиляции MPlayer-a под ARM9 (не Тион, другой) ./configure --prefix=${PWD}/../../rootfs/default/usr --enable-cross-compile --cc=arm-linux-gcc --host-cc=gcc --as=arm-linux-as --ar=arm-linux-ar --ranlib=arm-linux-ranlib --target=arm-armv4l-linux --with-extraincdir=${PWD}/../../tools/arm-uclibc-3.4.6/include --with-extralibdir=${PWD}/../../tools/arm-uclibc-3.4.6/lib --enable-static --enable-linux-devfs --enable-alsa --disable-mencoder --disable-gui --disable-gtk1 --disable-largefiles --disable-iconv --disable-langinfo --disable-lirc --disable-lircc --disable-joystick --disable-apple-remote --disable-vm --disable-xf86keysym --disable-radio --disable-radio-capture --disable-radio-v4l2 --disable-radio-bsdbt848 --disable-tv --disable-tv-v4l1 --disable-tv-v4l2 --disable-tv-bsdbt848 --disable-tv-teletext --disable-pvr --disable-rtc --enable-network --disable-winsock2 --disable-smb --disable-live --disable-nemesi --disable-dvdnav --disable-dvdread --disable-dvdread-internal --disable-libdvdcss-internal --disable-cdparanoia --disable-cddb --disable-bitmap-font --disable-freetype --disable-fontconfig --disable-unrarlib --disable-menu --disable-sortsub --disable-fribidi --disable-enca --disable-macosx --disable-maemo --disable-macosx-finder-support --disable-macosx-bundle --disable-inet6 --disable-gethostbyname2 --disable-ftp --disable-vstream --disable-w32threads --disable-ass --disable-win32dll --disable-qtx --disable-xanim --disable-real --disable-xvid --disable-x264 --disable-libnut --disable-libavcodec_a --disable-libavformat_a --disable-libpostproc_a --enable-libavutil_a --enable-libwma --disable-libavutil_so --disable-libavcodec_so --disable-libavformat_so --disable-libpostproc_so --disable-libavcodec_mpegaudio_hp --enable-faad-fixed --enable-mad --disable-mp3lib --disable-liba52 --disable-libmpeg2 --disable-ivtv --disable-dvb --disable-dvbhead --disable-tga --disable-pnm --disable-md5sum
Или вот еще один пример (вызов configure для сборки madplay) под тот же ARM9 (тоже не Тион):
./configure CPPFLAGS="-I../../tools/arm-uclibc-3.4.6/include -I../../tools/arm-uclibc-3.4.6/include/cignias" LDFLAGS="-L$PWD/tools/arm-uclibc-3.4.6/lib -lfaad" --host=arm-linux --enable-static --disable-shared --disable-profiling --disable-debugging
Т.е. в каждом конкретном случае надо разбираться с опциями configure скрипта и их использовать. Главное здесь - объяснить скрипту, что скомпилить приложение хотим для другой платформы, не для той, на которой он запускается...
Примечание: при вызове этих вышеупомянутых скриптов configure в каждой строчке кром последней в конце должен стоять бэкслеш, означающий, что это еще не конец строки. Когда я постил это сообщение - бэкслэш всякий раз удалялся автоматически "народом".
|
|
|
|