LINUX.ORG.RU

QNX 4.25 как осовременить?

 , ,


0

2

По целому ряду совершенно непреодолимых обстоятельств, приходится работать с QNX 4.25 с этим засохшим продуктом мамонта. Там старый софт, там нет Qt, многого нет, но сама ОС сеть последовательные порты и даже NFS - работают, большего там и не надо.

Так как средства разработки в этой ОС отстали лет на 25, то хочется привнести в нее современное, современное GUI, может современный софт и библиотеки.

Первое с чего хотелось бы начать - это GUI. Пусть это GUI будет рисовать свой интерфейс прямо в память, пусть оно будет на языке Си так, что можно собрать компилятором 20-25-летней давности. А я уже мог бы вываливать битмап прямо в эту простую форму с одной рисовальной поверхностью, да передавать события мышки и клавиатуру в ответ. Почему не напрямую? Потому что надо оставаться в рамках древнего Photon GUI, а любая современная GUI либа точно подобное поддерживать не будет. Существуют ли такие библиотеки? libui требуется cmake 3.1+ и наверное современный компилятор, если только первое ограничение нельзя обойти. Можно что-то для микроконтроллеров посмотреть, наверное, у кого что на примете есть?

Еще более радикальный шаг - обернуть сразу множество современных библиотек на C++ - и вывалить в некое виртуальное окружение эмулятор типа QEMU, но соберется ли? Может получится упаковать в бинарь, который крутит чуть ли не целый экземпляр ОС типа Linux. На эту мысль меня натолкнули масса примеров как QEMU и многих других проектов засовывали в браузер поверх JavaScript, так быть может и тут можно аналогично поступить - засунуть на некую платформу, которую легко портировать, пусть это будет исполнялка байт-кода и работает в 5 раз медленее чем bare metal.

★★★★★

Последнее исправление: I-Love-Microsoft (всего исправлений: 2)

Установи Linux и удали QNX.

QNX – засохшее проприетарное поделие в современном мире вообще никому не нужно. С ним куча проблем и тот же Qt, насколько я помню, дропнул поддержку QNX.

EXL ★★★★★
()

Да и в 6ке ещё Photon был ещё. Именно 4ка нужна?

fornlr ★★★★★
()
Ответ на: комментарий от EXL

и тот же Qt, насколько я помню, дропнул поддержку QNX

Qt 5.12 is currently tested and supported on QNX SDP 7.0, with support for both 32-bit and 64-bit target architectures

Неа, не только не дропнули, а наоборот, улучшают поддержку.

QNX – засохшее проприетарное поделие

Не засохло, всё еще свежепопахивает «родиной» с полей. Всё время развивается всё новые версии.

в современном мире вообще никому не нужно

А вот это факт - просто ненужниссимо, нелепая модель продаж, постоянные препоны, нереальные цены неадекватные вообще.

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

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Не, он прав, я бы хотел хотел бы, ну просто очень очень очень, но никак.

А собрать компилятор посовременнее, чем есть - не вариант?

А вот об этом можно подумать. Но там говнокомпилятор Watcom 10.6 от 1996 года, это 23 года уже блин )))

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Ну кросскомпиляция с линукса или венды через ихнее Momentics IDE.

А на тащить с одного на другое то?

fornlr ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

А вот это факт - просто ненужниссимо, нелепая модель продаж, постоянные препоны, нереальные цены неадекватные вообще.

QNX идут путём Embarcadero с их Delphi. Точно так же стараются выжать максимум из тех, кто сел на их «иглу» и не может «соскочить».

Но там говнокомпилятор Wacom 10.6 от 1996 года, это 23 года уже блин )))

Вот это посмотри: https://github.com/vurtun/nuklear

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

EXL ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Не, он прав, я бы хотел хотел бы, ну просто очень очень очень, но никак.

Ну, если он прав, то удаляй QNX 4, чо.

А собрать компилятор посовременнее, чем есть - не вариант?

А вот об этом можно подумать.

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

Но там говнокомпилятор Wacom 10.6 от 1996 года

Поищи OpenWatcom. Вот, например: https://sourceforge.net/projects/openwatcomqnx4/

А насчет GUI - посмотри Nuklear, но сама идея пилить GUI на QNX 4 не на Photon кажется мне провальной.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от fornlr

Momentics IDE

Для QNX 6 это верно, там GCC и при том не древний, и Qt поддерживается в 6.5+ Там много что можно было бы сделать и придумать

В ближайшие год-два переход на QNX 6 будет конечно осуществлен, отвалят лям за лицензию (для организации любой даже малой - это подъемно вполне), можно будет ставить на новые системы - лицензии на таргеты копеешные. Если не получится вот так прикрутить какой-то GUI современный, то я наверное и рыпаться не буду

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Поищи OpenWatcom

О, спасибо, он наверное поновее и я смогу его под 4 навернуть как-то

Nuklear - будем посмотреть

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Для QNX 6 это верно, там GCC и при том не древний

GCC 4.4 - это таки древний. Не палеолит, как Watcom 10, но древность.

tailgunner ★★★★★
()

Пусть это GUI будет рисовать свой интерфейс прямо в память, пусть оно будет на языке Си так, что можно собрать компилятором 20-25-летней давности.

Тут нужны лучшие некроманты. Cast @saahriktu.

Deleted
()
Ответ на: комментарий от tailgunner

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

Ещё был новейший компилятор gcc 2.xx, но он не включал gdb, а желающих разрабатывать без возможности отладки почему-то не было. А watcom был глючный как пц. Я как-то видел сообщение об ошибке «cannot convert unsigned char * to unsigned char *». И много чего ещё весёлого.

Deleted
()
Ответ на: комментарий от I-Love-Microsoft

В ближайшие год-два переход на QNX 6 будет конечно осуществлен

А смысл? Я понимаю смысл сидеть на qnx4 - какое-то суровое легаси. Но зачем начинать жевать другой сорт кактуса? Преемственности между 4 и 6 нет никакой. Преимуществ у qnx6 перед linux тоже.

Deleted
()
Ответ на: комментарий от tailgunner

Когда перешли на linux - выбросили всё в помойку с большим облегчением. Чего и автору желаю.

Deleted
()
Ответ на: комментарий от Deleted

Преимуществ у qnx6 перед linux тоже.

Есть. Она трижды насквозь сертифицирована и при этом поддерживает много архитектур (последнее исключает Астру).

tailgunner ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

В ближайшие год-два переход на QNX 6 будет конечно осуществлен, отвалят лям за лицензию (для организации любой даже малой - это подъемно вполне), можно будет ставить на новые системы - лицензии на таргеты копеешные. Если не получится вот так прикрутить какой-то GUI современный, то я наверное и рыпаться не буду

Почему вам так важна завязка на QNX? Послезавтра-завтра Blackberry накинет ещё два-три ляма, пытаясь выжать из тех кто «подсел» побольше, чтобы потом раствориться в небытие, оставив вас у разбитого корыта.

EXL ★★★★★
()
Ответ на: комментарий от EXL

чтобы потом раствориться в небытие, оставив вас у разбитого корыта.

Если коротко, то нет. Судьба Blackberry не сильно затронет российских QNX-наркоманов (или вообще не затронет).

tailgunner ★★★★★
()
Ответ на: комментарий от EXL

оставив вас у разбитого корыта

SWD software вроде как независимо пилит QNX в РФ, и затащили на Байкалы Эльбрусы эту ОСь, так что blackberry пусть дохнет. SWD поддержку не бросит - они за это кушают хлебушек

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от tailgunner

и при этом поддерживает много архитектур (последнее исключает Астру)

Астра тоже много на что натянута последнее время, включая Байкалы и Эльбрусы

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Вот как сертифицируют для той сферы, в которой я в данный момент гнию - так сразу Linux, отечественный сертифицированный, с огромной радостью применят. Linux лучше и это фактический факт, при том что стабильность ядра (без всяких GUI) - уверен что на высоте

Давайте не слезать с темы, понимаю что многих беспокоит что я юзаю эту какашку. Но мня хотелось бы про GUI услышать, что можно еще натянуть туда. Про Nuklear понял. Если есть еще мысли - пишите

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Астра тоже много на что натянута последнее время, включая Байкалы и Эльбрусы

Про Байкалы впервые слышу (какие Байкалы - MIPS или ARM?), но в любом случае, это гораздо меньше, чем умеет QNX 6. И хрен ты допросишься версий Астры для не-amd64.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Но мня хотелось бы про GUI услышать

Если ты вынужден писать GUI для работы именно на QNX 4, то лучше пользуйся штатными средствами (т.е. Photon).

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

В linux стало критически лучше с RT? Пишу из анабиоза.

Я не могу ответить на этот вопрос, потому что не знаю, какое RT тебе нужно и когда ты впал в анабиоз :) Просто замечу, что QNX часто используется там, где нужна просто встроенная система без каких-то требований к RT (иногда по вопросам о QNX видно, что приемы программирования и архитектура приложения безнадежны с точки зрения RT). А так - есть, например, PREEMPT, или PREEMPT_RT, в котором вообще всё серьезно, или, прости ТНБ, xenomai. Если перед уходом в анабиоз ты уже слышал о них, то критически лучше не стало.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Спасибо, это мой комментарий был.

PREEMPT_RT

Помню патч с конверсией спинлоков в мутексы, это оно? Давал тогда на древнем фрискейле латентность в ~100мкс, но от процессора сильно зависело, на 86 было ~10.

Xenomai да, был уже. Я думал что там для rt свой api, не позикс, но вижу что ошибался.

AptGet ★★★
()
Ответ на: комментарий от AptGet

Помню патч с конверсией спинлоков в мутексы, это оно?

Да.

tailgunner ★★★★★
()

ну дрова на неё тут https://community.qnx.com/sf/projects/qnx4/ вроде как обновляют, может поспрашать в их чудовищном форуме https://community.qnx.com/sf/discussion/do/listTopics/projects.qnx4/discussio... , может чем тебе и помогут с твоими хотелками. Только зачем там гуй? емакс там есть, а большего и не надо +).

vtVitus ★★★★★
()
Ответ на: комментарий от EXL

Qt, насколько я помню, дропнул поддержку QNX

Наоборот, для QNX 6.6 наиболее полная поддержка со стороны qt, даже поддержка новой графической подсистемы Screen. В Qt Creator в Options/Devices есть отдельная вкладка QNX. Сам использую qt5 на QNX 6.5. Конечно БОЛЬ в работе с системой присутствует, с удовольствием заменил бы ее на rt linux.

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

нелепая модель продаж, постоянные препоны, нереальные цены неадекватные вообще.

Что в этой модели нелепого? И что плохого в этих ценах?

dem ★★
()
Ответ на: комментарий от EXL

tailgunner Вам обоим спасибо за наводку - вот мой тестовый пример работы с Nuklear, пока что чисто поверх Linux, но даже с этим пришлось повозиться: http://paste.org.ru/?nrhy7t

Авторы клянутся что там C89, значит должно полететь и на QNX4.

I-Love-Microsoft ★★★★★
() автор топика

Удалось собрать SQLite последней версии чудом, Nuklear тоже скорее всего будет работать и в QNX4 но пока не проверял. В общем, жить как-то можно. Но для этого пришлось прикрутить самый последний Open Watcom.

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
25 июня 2019 г.
Ответ на: комментарий от Snifer

SQLite на QNX4 работает хорошо стабильно, поддерживает одновременно 1 write и несколько read процессов - я рад. Запустил там Python 2.3.5 - уже приятно, скрипты на нем пишу, они хорошо стыкуются по сети с Python 3.x и вообще структурами удобно перекидываться

Nuklear пока так и не попробовал

I-Love-Microsoft ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.