Официальный форум СВД Встраиваемые Системы
08 Февраля, 2012, 06:48:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: FAQ по QNX  (Прочитано 6382 раз)
Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #15 : 06 Сентября, 2010, 12:56:20 »

Как сохранять историю команд при перезапуске shell?

Командным интерпретатором по умолчанию в QNX является Korn-shell. Чтобы сохранить историю команд при перезапуске шелл надо объявить переменную окружения HISTFILE. Для этого надо добавить объявление в пользовательский профиль ~/.profile :

Код:
export HISTFILE=$HOME/.ksh_history
Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #16 : 06 Сентября, 2010, 20:18:17 »

Как изменить приглашение к вводу в shell?

Чтобы настроить внешний вид приглашения к вводу следует установить переменную окружения PS1, например, в профиле пользователя. Чтобы выводить текущий путь надо прописать в ~/.profile следующую строку:

Код:
PS1='$PWD$ '

А можно и немного доработать, например, выводить не полный путь, а только текущий каталог:

Код:
PS1='[`basename $PWD`]$ '

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

Код:
PS1='[`date +%X` `basename $PWD`]$ '

Никто не мешает Вам самостоятельно настроить приглашение к вводу на свой вкус. Также можете посмотреть эту тему.
Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #17 : 20 Октября, 2010, 11:29:47 »

Можно ли настроить дополнение пути в QNX4 по клавише Tab как в QNX6?

В QNX4 по умолчанию используется Korn-shell (ksh) в качестве shell. Для того чтобы дополнить путь надо набрать часть пути и дважды нажать Esc. По понятным причинам (нажимать надо дважды) это не очень удобно. Smiley В тоже время в современных unix-like системах, в том числе и в QNX6, в shell можно пользоваться для этих целей клавишей Tab. Для того, чтобы в QNX4 ksh включить такую возможность, надо выполнить команду:

Код:
bind ^I=complete

Эту же строчку можно вписать в файл ~/.profile .
« Последнее редактирование: 05 Января, 2012, 18:20:35 от Олег Большаков » Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #18 : 05 Марта, 2011, 12:05:29 »

Можно ли выполнить разархивацию утилитой tar так, чтобы файлы оказались в указанной директории (отличной от текущей)?

Для указания рабочего каталога команды tar служит опция -C. Чтобы распаковать файлы в какой-то определённый каталог следует выполнить, например, следующую команду:

Код:
$ tar -C /tmp -xf files.tar

Утилита tar из стандартной поставки QNX4 не поддерживает опцию -C, но Вы можете скачать обновлённую версию утилиты тут.
Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #19 : 26 Марта, 2011, 22:43:37 »

Можно ли настроить вывод утилиты sin?

Да, вывод sin можно настроить при помощи команды format. Например, чтобы получить следующую информацию: идентификатор процесса (pid), имя команды, пользователь, приоритет процесса, дата создания файла (с программой) и время запуска команды, следует выполнить следующую команду:

Код:
$ sin format inLpT

или

Код:
$ sin format inLpT

Более подробную информацию по утилите sin можно получить в документации или выполнив команду:

Код:
$ use sin
Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #20 : 29 Марта, 2011, 10:59:50 »

Во время загрузки системы не запускаются файлы, расположенные в каталогах из переменной $PATH в /etc/profile. В чём может быть дело?

Во время выполнения загрузочного скрипта sysinit.<NODE> ещё не выполнился /etc/profile. Лучше всего, в sysinit.<NODE> указывать полный путь к командам. Если этот вариант не подходит и требуется более гибкая настройка системы, то можно явно присвоить переменной окружения $PATH нужное значение. Однако, в этом случае сопровождение системы станет сложнее, т.к. надо помнить, что переменная $PATH объявляется в двух местах. Лучшим выходом был бы явный вызов /etc/profile из sysinit.<NODE>:

Код:
. /etc/profile

Но и этот способ обладает недостатками. Поскольку /etc/profile должен выполняться после инициализации системы на этапе регистрации пользователя в системе, то при вызове его из загрузочного скрипта будут выводиться сообщения об ошибках.

На мой взгляд лучшим решением будет перенос переменных таких как $PATH и $TMPDIR из /etc/profile в новый файл /etc/vars, который уже можно использовать в загрузочном скрипте и в профиле. Например, можно подготовить следующий файл /etc/vars:

Код:
export PATH=$PATH:/etc:/usr/ucb:/usr/local/bin TMPDIR=${TMPDIR:-/tmp}
export SYSNAME=${SYSNAME:-qnx4}

В /etc/profile закомментиовать или удалить определение соответствующих переменных. В самое начало файлов (после комментариев) sysinit.<NODE> и /etc/profile надо добавить строчку:

Код:
. /etc/vars
Записан

Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 12



WWW
« Ответ #21 : 22 Сентября, 2011, 21:35:40 »

Где можно найти описание формата конфигурационного файла утилиты калибровки calib?

Конфигурационный файл утилиты calib для QNX4 находится по пути

Код:
/etc/config/absf/absf.$NODE

Так как утилита calib портирована в QNX4 из QNX6, то описание формата конфигурационного файла можно посмотреть в справке QNX6 в статье Writing an Input Device Driver в разделе Calibration file format.
Записан

Сотрудник СВД Встраиваемые Системы
Евгений Горелов
Сотрудник СВД ВС
Пользователь

Сообщений: 92



WWW
« Ответ #22 : 10 Ноября, 2011, 15:23:29 »

Как настроить переключение языка ввода при использовании Qt в QNX Neutrino?

1) Создайте или откройте для изменеия файл /etc/system/trap/.KEYBOARD
Заполните его следующим образом:
Код:
X
ru_RU_102.kbd
en_US_101.kbd
   
где X - флаг, определяющий сочетание клавиш для переключения:      
   0 - не переключать раскладку;
   1 - Left Alt + Left Shift;
   2 - Left Ctrl + Left Shift;

Далее списком перечилены используемые раскладки. Можно добавить необходимое количество раскладок, при этом первая из списка будет использоваться по умолчанию. Файлы раскладок хранятся в каталоге /usr/photon/keyboard и имеют расширение .kbd.
      
В данном примере по умолчанию будет использоваться русская раскладка ru_RU_102.kbd.
      
2) При запуске менеджера ввода-вывода devi-hid, используемого Qt, необходимо передавать ему ключ -d  с параметром /dev/null , при этом ключ -P использоваться не должен.

Например:
Код:
/usr/photon/bin/devi-hid -rd /dev/null kbd mouse
Записан

Евгений Горелов
Сотрудник СВД ВС
Пользователь

Сообщений: 92



WWW
« Ответ #23 : 18 Ноября, 2011, 18:45:10 »

Как запустить приложение Qt в QNX Neutrino с поддержкой мыши и клавиатуры?

1. Объявите переменные окружения QWS_MOUSE_PROTO, QWS_KEYBOARD. Присвойте им значение "qnx", а затем выполните команду export.
Например так:
Код:
QWS_MOUSE_PROTO=qnx
QWS_KEYBOARD=qnx
export QWS_MOUSE_PROTO QWS_KEYBOARD

Для того, чтобы каждый раз не вводить указанные строки, можно добавить их в файл .profile в папке пользователя от имени которого ведётся работа в QNX. Например, в файл /root/.profile

2. Запуск qt-приложения должен производиться из командной строки (без использования графической обочлоки Photon). Для запуска можно использовать следующий скрипт:
Код:
/usr/photon/bin/devi-hid -Pr kbd mouse
./[приложение] -qws
slay devi-hid
sleep 1
/usr/photon/bin/devi-hid kbd mouse
« Последнее редактирование: 18 Ноября, 2011, 21:04:45 от Евгений Горелов » Записан

Евгений Горелов
Сотрудник СВД ВС
Пользователь

Сообщений: 92



WWW
« Ответ #24 : 16 Декабря, 2011, 18:04:10 »

Как интегрировать Qt в QNX Momentics?

Данный вопрос подробно рассмотрен в презентации "Использование библиотеки Qt при разработке приложений для ОСРВ QNX Neutrino".
« Последнее редактирование: 18 Декабря, 2011, 19:04:54 от Евгений Горелов » Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #25 : 21 Января, 2012, 20:02:20 »

Как узнать, какие контроллеры поддерживает Fsys.atapi?

Чтобы узнать какие контроллеры поддерживаются драйвером Fsys.atapi, выполните следующую команду:

Код:
# Fsys.atapi atapi verbose=6,supported
Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #26 : 24 Января, 2012, 16:36:49 »

Как запустить универсальный графический драйвер Photon в QNX4?

В QNX4 существует универсальный графический драйвер Photon, который может работать с большим количеством графических контроллеров различных производителей. Функционал драйвера содержится в двух исполняемых модулях: переключателе графических режимов Hydra.ms и семействе драйверов Pg.flat*. Для автоматического распознавания графического контроллера надо раскомментировать строку с Hydra.ms -T в файле /qnx4/graphics/trappers/crttrap.list и выполнить следующие команды:

Код:
# crttrap clear
# crttrap trap

Если всё прошло нормально, то в файле /etc/config/trap/crt.<номер_узла> появятся строки запуска драйверов для различных режимов.
Записан

Олег Большаков
Администратор
Старожил

Сообщений: 2111


Читаю...


WWW
« Ответ #27 : 24 Января, 2012, 16:38:12 »

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

Для получения списка поддерживаемых BIOS графических режимов надо выполнить команду:

Код:
# /qnx4/graphics/bin/show_vesa

Если программа завершается с ошибкой SIGSEGV, то стоит попробовать передать ей ключ -r или -e (тот же самый ключ надо будет прописать и в crttrap.list для Hydra.ms).


Дополнительная информация по этой теме.
Записан

Евгений Горелов
Сотрудник СВД ВС
Пользователь

Сообщений: 92



WWW
« Ответ #28 : 25 Января, 2012, 11:19:59 »

Как собрать приложение на Qt для QNX Neutrino на инструментальной машине
(Linux/Windows) ?


Для того что, чтобы собрать приложение на Qt для другой платформы (кросс-компилировать), нужно передать утилите qmake соответсвующие настройки с помощью опции -spec. Например, для того чтобы собрать приложение для QNX Neutrino с архитектурой ARMv7, нужно выполнить
следующую команду:

Код:
qmake -spec unsupported/qws/qnx-armv7-g++

А затем

Код:
make

Для QNX Neutrino данные параметры могут быть следующими:

  • qnx-arm-g++
  • qnx-armv7-g++
  • qnx-i386-g++
  • qnx-ppc-g++

Все доступные файлы конфигураций содержатся в директории Qt в каталоге
mkspecs и его подкаталогах.
« Последнее редактирование: 25 Января, 2012, 14:39:40 от Евгений Горелов » Записан

Евгений Горелов
Сотрудник СВД ВС
Пользователь

Сообщений: 92



WWW
« Ответ #29 : 25 Января, 2012, 16:54:18 »

Как установить Qt 4.8 в QNX Neutrino?

Qt официально поддерживает работу с QNX Neutrino начиная с версии 4.8 (подробнее).
Бинарной версии Qt 4.8 для QNX Neutrino не существует, поэтому необходимо собирать Qt с поддержкой QNX из исходных текстов.
Исходные тексты можно скачать на официальном сайте или из официального репозитория.
Рекомендации по сборке Qt для QNX Neutrino можно прочитать здесь.
« Последнее редактирование: 26 Января, 2012, 11:55:21 от Евгений Горелов » Записан

Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2011 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 07 Февраля, 2012, 07:26:44