Просмотр сообщений
Страниц: [1] 2 3 ... 35
1  Разработка / Программирование под QNX / Re: Шаблон администратора ресурсов : Ноября 13, 2019, 12:54:10 pm
Выбор за разработчиком.
Повторю, что я считаю работу с процессами в QNX предпочтительной.
Присоединяюсь. 10 отдельных процессов отладить много проще, чем всё вместе, сваленное в кучу + при изменении одного из 10 отдельных процессов не нужно подробно тестировать остальные.
По поводу С vs C++ - очень С-шный С++, по умолчанию гораздо строже поверка кода, меньше допущений при преобразованиях типов, вызовов функций и т.д. Никаких шаблонов и new.

Не только. За эту 1 мс ядро производит обработку всех потоков в системе. Когда ваш поток пытается захватить мютекс и это, например, не удалось, следующий такой захват будет произведён уже в другом такте, который наступит стандартно через 1 мс. Таким образом, поток у вас потерял 1 мс, независимо от того, что другой поток может в этом же такте тут же освободить мьютекс.
---cut---
Работа с разделяемым ресурсом всё равно потребует примитивов синхронизации с вышеобозначенными задержками.
Ни в коем случае. Как бы тогда у меня в QNX 4 при тике 10мс могла нормально работать программа с 12 потоками (все 12 взаимодействовали с двумя линиями CAN  по протоколу CanOpen + сверху поток оболчки-сервера) ? На этой же машинке мирно уживались ещё 8 или 10 модулей, готовящих/обрабатывающих данные.
С тактовой частотой работают таймеры. С частотой 4 такта (помоему) безусловно происходит диспечеризация. Кроме того,  диспечеризацию инициализирует большинство вызовов системных функций.
2  Разработка / Программирование под QNX 4.x / Re: Разделяемая память и ее защита. : Декабря 05, 2018, 01:30:32 pm
_disable() и _enable() - точно лишние.
Но есть потенциальная опасность (особенно для QNX 4) - если в memcpy() попадут кривые аргументы и умрёт вызвавший её процесс (по SIGSEGV) то всё остальное встанет наглухо. Так что нужно городить некую отпускалку.
3  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 14, 2018, 05:25:39 pm
Видимо - Cinnamon больше похожа на XP  Smiley.
А так - всё практически тоже, только в профиль.
В основе Ubuntu - ветка unstable  Debian. Свежее общее ПО, главное - драйвера под новое железо появляются раньше. Встречаются коммерческие и не GPL программы в центре приложений. Естественно - слегка меньше стабильность.
Mint основан на Ubuntu, использует репозитории Ubuntu основные изменения - простота начальной установки и окружение по умолчанию.
4  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 14, 2018, 02:36:50 pm
Не всегда ведь проект делается в IDE. Да и вот свежий пример: решил-таки Linux поставить. Смотрим, что у нас есть из популярного:
Fedora
Mint
Ubuntu
OpenSuSe
Mageia
Astra Linux
Debian ?
Если не устраивает новомодная systemd - есть форк с system V.
Если не издеваться над ней подключая репозитории testing - стабильна до безобразия.
Ну а окружений рабочего стола - пактически в любом линухе на любой вкус и цвет.
5  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 13, 2018, 02:01:21 pm
Вы ещё не забывайте, что на x86 мир не заканчивается.
У нас все PPC и так соответствуют пп 1 - ни экрана ни клавы  Smiley
6  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 13, 2018, 12:14:30 pm
Есть у меня подозрение, что IDE тормозит из-за каких-то архитектурных особенностей именно QNX. ...кусь...
И я подозреваю, что невозможность запустить IDE с приемлемой скоростью и привели к кроссплатформенной разработке. Чтобы жалоб меньше было. Smiley
Eclipse будет тормозить везде. Гдето больше, гдето меньше (java однако). Найтивный видимо сильно тормозит не из за архитектурных особенностей именно QNX (с) а из за особенностей реализации Java под QNX. Скорее всего к кроссплатформенной разработке всётаки привело то, что на большинстве найтивных машин нет ни экрана, ни клавы с мышю, мало памяти, и хорошо если есть вменяемый по объёму и скорости диск.
7  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 10, 2018, 06:51:40 pm
У меня в 6.3 SP 3, как я понимаю, 2.95.3.
Кусь....
Upd2. Скачал gcc 4.2.1 и binutils-2.17 с community.qnx.com . Распаковал в Qnx 6.3 SP3 (вроде как ставили в 6.5, как я понял, но у меня её нет). Выполнил qcc -V. В IDE появился новый компилятор. Указал в проекте компилятор 4.2.1. Дальше неприятное: "hello word" собрался, но только если на stdio и printf. Стоит подключить хотя бы просто iostream и всё - у компилятора проблемы со сборкой библиотек. Про stl уж и не говорю.
Ну, хочется человеку найтивно... А может, подругому никак...
8  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 10, 2018, 11:34:41 am
И make из дистрибутива Watcom под windows (ну и под всё другое) - есть опыт писания на Watcom для доса и винды.
Первое скорее всего кусок, который включится в какойто дефолтный makefale инклюдом.
9  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 09, 2018, 01:02:23 pm
Всё оказалось очень просто. Настроить дополнительные папки можно прямо из IDE. Она сама заполняет EXTRA_SRCVPATH и EXTRA_INCVPATH.
Я про это.
И видимо никто не будет спорить что IDEшка кривая. И тормозная. Особенно найтивная.
Но ведь ничто не мешает взять любой устраивающий Вас редактор и написать makefile.
Я знаю людей, которым удобнее писать тесты в винде, сохранять в разделяемой (через самбу) папке и компилить в 4-ке. Помоему там только адекватная парсилка ошибок не прикручена.
Кстати, ещё к 6.2 (вроде)  был third-party ISO с кучей всего, включая вполне приличные обёртки для GDB (и под фотон, и консольные).
10  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 08, 2018, 11:12:31 am
Всё оказалось очень просто. Настроить дополнительные папки можно прямо из IDE. Она сама заполняет EXTRA_SRCVPATH и EXTRA_INCVPATH.
Вам об этом и писали. Читайте внимательнее ответы.
Исходники можно раскидать по разным папкам (как внутри проекта, так и снаружи) и  добавлять выборочно (но только папку целиком): Project->Properties->QNX C/C++ Project->Compiler->Category->Extra sources paths (Extra include paths).
11  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 03, 2018, 12:11:23 pm
Там есть всякие $(PROJECT_ROOT) и т.д. Внутри workspace всё переносимо.
По gcc - может всёже собирать на host машине ? И новые компиляторы будут работать, и IDE гораздо шустрей.
12  Разработка / Перенос приложений в QNX / Re: CppUnit порт для QNX6 : Августа 03, 2018, 11:39:43 am
GCC поновее можно посмотреть тут Foundry27.
Исходники можно раскидать по разным папкам (как внутри проекта, так и снаружи) и  добавлять выборочно (но только папку целиком): Project->Properties->QNX C/C++ Project->Compiler->Category->Extra sources paths (Extra include paths).
13  Установка и настройка / Поддержка аппаратного обеспечения в QNX / Re: USB мышь на материнке ASUS P5E : Июля 04, 2018, 01:35:10 pm
После io-usb.
Перед io-hid.
Т.е. нужно убедиться, что контроллер USB завёлся и разглядел чтоже в него воткнуто.
В принципе,
Цитировать
mount -Tio-hid devh-usb.so
может и не потребоваться (давно не виделся с 6.3).
14  Установка и настройка / Поддержка аппаратного обеспечения в QNX / Re: USB мышь на материнке ASUS P5E : Июля 03, 2018, 04:28:35 pm
Ну, я же не знаю как Ваша система стартует.
Видимо гдето перед чемто вроде этого:
Цитировать
io-hid & mount -Tio-hid devh-usb.so
15  Установка и настройка / Поддержка аппаратного обеспечения в QNX / Re: USB мышь на материнке ASUS P5E : Июля 02, 2018, 01:28:45 pm
Код:
waitfor /dev/io-usb/devu-xxx.so
или
Код:
let i=0; usb | grep -q mouse; while [ $? == 0 -a $i -lt 10 ]; do let i=$i+1; sleep 1; pidin | grep -q mouse; done;
Страниц: [1] 2 3 ... 35