Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QNX
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Sugar
Господа, кто программирует в PhaB под QNX????
Nixon
Вопросы, пожалуйста, задавайте по-конкретнее.
nikkov
Мы в свое время пробовали, а конкретный вопрос в чем?
Sugar
Интересует
1 программирование портов (LPT, COM)
2 Есть dll под плату ввода-вывода PCI1711 (dll под Windows), как переконвертировать ее (библиотеку) под формат понятный PhAB (implib в С++Builder)
hitower
PhAB - это просто визуальный построитель интерфейсов+API
программирвоать com и lpt - средствами qnx, так же, как и без phab
с dll - переписать если есть документация на плату. Драйвер в QNX можно написать и в user mode (правда, работать будет только под root насколько я помню)
Sugar
-com и lpt - средствами qnx, так же, как и без phab
Под Windows я программирую порті в С++Builder с использованием
1 asm вставок (out 0x378,...)
2 Win API (DCB, CreateFile, ReadFile ....)
3 есть компоненты

какие способы подойдут в PhaB (компонент отпадает, Win API отпадает, и остается asm... (помню есть функция записи в порт под С++Builder не идет, а вот под DOS Turbo C++ идет (outport, writeport)


-с dll - переписать если есть документация на плату. Драйвер в QNX можно написать и в user mode (правда, работать будет только под root насколько я помню)
Нет ли программ конверторов (как implib в С++Builder), насчет работать под root или др. не имеет значения.
hitower
Цитата
-com и lpt - средствами qnx, так же, как и без phab
Под Windows я программирую порті в С++Builder с использованием
1 asm вставок (out 0x378,...)
2 Win API (DCB, CreateFile, ReadFile ....)
3 есть компоненты

естественно, asm
последовательные порты можно использовать как файлы и в qnx, насколько я помню - open, read, write, ioctl

Цитата
-с dll - переписать если есть документация на плату. Драйвер в QNX можно написать и в user mode (правда, работать будет только под root насколько я помню)
Нет ли программ конверторов (как implib в С++Builder), насчет работать под root или др. не имеет значения.

implib - просто создает библиотеку импорта, которая ссылается на dll
можно, конечно, покопаться в коде библиотеки и вытащить тела функций, работающих с платой (особенно легко, если они не ссылаются на другие функции)
но проще, мне кажется, написать заново
Sugar
если они не ссылаются на другие функции
но проще, мне кажется, написать заново.
Гм, заново, это сложновато, работа с платой ввода-вывода PCI (в моем случае PCI1711 Advantech), это большой набор API функций, переписать их очень сложно.
Я пытался прикрепить ее к SCADA Silver (но в демо версии нет под эту плату драйверов).
недавно начал осваивать C# (.NET) говорят что межплатформенная, не знаете можно ли написать программу в .NET (или Java) и запустить в QNX.
есть ли под QNX java - машина или .framework.
Nixon
Java есть. .net нет. (каламбур получался smile.gif). Хотя возможно уже mono на qnx портировали.
Sugar
так может не имеет смысла использовать PhaB а сразу писать на Java?
Nixon
А зачем вам вообще java на qnx? Эта система предназначена совсем не для этого.
Sugar
Nixon Дата Сегодня, 15:05
А зачем вам вообще java на qnx? Эта система предназначена совсем не для этого.
Да мне безразницы на чем писать, правда Java не знаю, но это не проблема.
Я хотел сказать, может Java гораздо гибче PhAB (классы, и все такое), то может не стоит изучать пакет PhaB???
hitower
QNX - 4.x как я понял?
Sugar
4.x для меня экзотика. Я с трудом смог достать 6.2 Non com...
На сколько я помню 4. под промышленность, и бесплатных нет.
У нас на рынке и non com... нет, пришлось через знакомых.
hitower
тогда на вашем месте я бы не стал заморачиваться на изучение phab - потом операционку смените, и никакого проку от знания phab не останется. лучше уж ява или что-нибудь подобное Qt
Sugar
понял, скоре всего перейду на Java.
Но PhaB наверное тоже буду учить.
nikkov
Цитата(hitower @ Mar 14 2005, 13:36)
тогда на вашем месте я бы не стал заморачиваться на изучение phab - потом операционку смените, и никакого проку от знания phab не останется. лучше уж ява или что-нибудь подобное Qt
*

В 6 QNX можно программировать и для X-Window, поэтому можно использовать Qt или другие библиотеки. Я пробовал wxWidgets.
Sugar
X-Window, я думал все уже перешли на Photon
hitower
X все-таки открыт, а photon - собственная разработка, так что наоборот, все кто могут - обычно делают на X
Sugar
Не могли бы дать несколько примеров на PhaB???
Если есть работа с портами, біло б просто замечательно!
Nixon
Смотри (это пример из живого проекта)
Код
#include <sys/neutrino.h> // for ThreadCtl()
#include <stdint.h> // for uintptr_t
#include <hw/inout.h> // for in_() and out_() commands
void wr_reg(uintptr_t iop, uint8_t reg, uint8_t val)
{
 out8(iop,reg);
 out8(iop,val);
}
uint8_t rd_reg(uintptr_t iop, uint8_t reg)
{
 out8(iop,reg);
 return in8(iop);
}

int main()
{
uintptr_t port;
uint8_t val;
uint8_t reg;

ThreadCtl_r(_NTO_TCTL_IO, 0);
for(;;)
{
scanf("%hhd",&reg);
printf("%X %X \n",reg,rd_reg(0x12B,reg));
};

}
nikkov
Sugar, PhAb - это оболочка или IDE для разработки GUI под QNX.
Реально код пишется на языке C для Watcoma в 4 QNX и
gcc в 6. Приведенный Nixon фрагмент может быть скомпилирован gcc
и без PhAb
alex_k
На сколько я помню, в QNX 6 достаточно много документации, в том числе и по программированию. Когда я смотрел, видел много всяких описаний, в том числе и программированию. PhAB хорошо описан и Tutorial есть. Правда все на английском. Для написания драйверов находил там целую книгу по Resource Manager с кучей приемов от доступа к портам до драйвера к pci. Вообще в инете есть много статей по QNX да и сайтов.

Например http://www.qnx.org.ru/ - там в разделе "Статьи" есть и на руском и на английском.
Sugar
Спасибо за пример.
out8(iop,reg);
в качестве iop как я понимаю нужно ввести адресс, например для lpt 0x378.
А нет примера по COM порту.
Если нужно, у меня есть руководство под PhaB в єлектроннке, перевод на рус.
порядка 600страниц.
Этот сайт мне знаком, порадовало что под FT232 (USB) есть библиотека под QNX.
Nixon
Положи, пожалуйста, перевод руководства в форум.
Sugar
Через пару дней выложу!
Sugar
Руководство на русском.
Olej
Цитата(Sugar @ Mar 23 2005, 14:30)
Руководство на русском.
*


1. вы бы автору перевода сообщили о публикации "его" материала? wub.gif

2. это очень старая, совсем "черновая" редакция... вот здесь:
http://qnxclub.net/files/articles/progphoton/progphoton.zip
- можете взять то, что получилось в конце-концов у тех же авторов, после исправления, редактирования текста и т.д.

3. и ... читайте, читайте, читайте ... <_< - ибо всё, что здесь говорилось о графике для QNX: java - X - etc. - это, мягко говоря: "фигня" rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.