Olej 0 1 июля, 2018 Опубликовано 1 июля, 2018 · Жалоба Кто использует? Кто что может сказать по этому поводу? Начну с вот этого: How fast is fast enough? Choosing between Xenomai and Linux for real-time applications Dr. Jeremy H. Brown Rep Invariant Systems, Inc. 38 Cameron Ave, Suite 100, Cambridge, MA, 02140, USA [email protected] Brad Martin Rep Invariant Systems, Inc. 38 Cameron Ave, Suite 100, Cambridge, MA, 02140, USA [email protected] Это Кембриджкий университет, 17 стр., с результатами тестирования. И это очень похоже на правду. И это результаты не уступающие хвалёной OS QNX. Там же - сравнения с более традиционным RTLinux с CONFIG PREEMPT RT - который не идёт ни в какое сравнение. Кто собирал ядро Linux с патчами под Xenomai Cobalt (3.05-3.07)? В принципе, ядро с Xenomai для embedded применений позволяют собрать последние версии BuildRoot. Есть у кого опыт и успехи в этом деле? А я потом :biggrin: поделюсь своими знаниями и находками относительно Xenomai. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Olej 0 2 июля, 2018 Опубликовано 2 июля, 2018 · Жалоба Кто собирал ядро Linux с патчами под Xenomai Cobalt (3.05-3.07)? Собирать рабочий образ realtime системы с Xenomai довольно противное занятие, и описано здесь - Installing Xenomai 3.x: 1. Нужен патч ipipe исходников майнлайнового ядра (с kernel.org), патч проекта . Берётся здесь - Index of /downloads/ipipe/v4.x, под свою процессорную архитектуру: [DIR] arm/ 12-Jun-2018 19:15 - [DIR] arm64/ 08-Apr-2018 16:47 - [DIR] blackfin/ 26-Mar-2018 09:31 - [DIR] powerpc/ 26-Mar-2018 09:31 - [DIR] x86/ 26-Mar-2018 17:54 - Это патчи проекта Adeos (Adaptive Domain Environment for Operating Systems) (любопытно почитать). Патчи изготавливаются далеко не под все версии ядра, например для ARM: [TXT] ipipe-core-4.14.36-arm-1.patch 12-Jun-2018 19:12 587K [TXT] ipipe-core-4.4.71-arm-9.patch 03-Oct-2017 12:35 672K [TXT] ipipe-core-4.9.51-arm-4.patch 26-Mar-2018 09:16 700K [DIR] older/ 12-Jun-2018 19:13 - 2. Собрать новое ядро и установить в системе Linux... 3. Скачать Xenomai real-time core, собрать из исходников и установить... 4. Писать свои realtime task в Posix-нотации (это новинка в Xenomai, они называют это skin-ы), но компилировать специфичным Makefile: XENO_DIR = /usr/xenomai XENO_CONFIG := $(XENO_DIR)/bin/xeno-config CFLAGS := `$(XENO_CONFIG) --posix --cflags` LDFLAGS := `$(XENO_CONFIG) --posix --ldflags` CC := `$(XENO_CONFIG) --cc` all: main_posix lb1 main_posix: main_posix.c $(CC) -Wall $(CFLAGS) $< $(LDFLAGS) -o $@ -lanalogy -ltrank -lmodechk -lcopperplate ... И запускать потоки с realtime диспетчированием Linux (естественно, это потребует root): ... struct sched_param sparam; sparam.sched_priority = 99; rc = pthread_create( &thread, NULL, TaskCode, NULL ); assert( 0 == rc ); rc = pthread_setschedparam( thread, SCHED_FIFO, &sparam ); ... Собирать рабочий образ realtime системы с Xenomai довольно противное занятие, К счастью, на "попробовать" есть готовые публично доступные образы системы, от одного из голландских университетов, которые они используют в учебном спецкурсе по embedded системам: - образ SD-карты для Rapsberry Pi: Raspberry Pi image for the Pi zero,1,2,3 with Xenomai 3.0.5 on Raspbian linux 4.1.y Debian 8 jessie - образ виртуальной машины под VirtualBox: VirtualBox Images for Xenomai 3.0 and Xenomai 2.4 И тот, и другой вариант мной проверен на работоспособность и адекватность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться