Автор: Olej Jul 1 2018, 10:16
Кто использует?
Кто что может сказать по этому поводу?
Начну с вот этого:
http://electronix.ru/redirect.php?https://pdfs.semanticscholar.org/9eb5/1dbe38fb23034e80b8664d8281996d2a5ef6.pdf?_ga=2.115305735.1422742923.1510677552-1828769110.1510677552
Цитата
Dr. Jeremy H. Brown
Rep Invariant Systems, Inc.
38 Cameron Ave, Suite 100, Cambridge, MA, 02140, USA
jhbrown@repinvariant.com
Brad Martin
Rep Invariant Systems, Inc.
38 Cameron Ave, Suite 100, Cambridge, MA, 02140, USA
bmartin@repinvariant.com
Это Кембриджкий университет, 17 стр., с результатами тестирования.
И это очень похоже на правду.
И это результаты
не уступающие хвалёной OS QNX.
Там же - сравнения с более традиционным RTLinux с CONFIG PREEMPT RT - который не идёт ни в какое сравнение.
Кто собирал ядро Linux с патчами под Xenomai Cobalt (3.05-3.07)?
В принципе, ядро с Xenomai для embedded применений позволяют собрать
последние версии BuildRoot.
Есть у кого опыт и успехи в этом деле?
А я потом
поделюсь своими знаниями и находками относительно Xenomai.
Автор: Olej Jul 2 2018, 03:01
Цитата(Olej @ Jul 1 2018, 13:16)
Кто собирал ядро Linux с патчами под Xenomai Cobalt (3.05-3.07)?
Собирать рабочий образ realtime системы с Xenomai довольно противное занятие, и описано здесь - http://electronix.ru/redirect.php?https://gitlab.denx.de/Xenomai/xenomai/wikis/Installing_Xenomai_3#Building_a_Cobaltx86_kernel_3264bit:
1. Нужен патч ipipe исходников майнлайнового ядра (с kernel.org), патч проекта .
Берётся здесь - http://electronix.ru/redirect.php?https://xenomai.org/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 -
Это патчи проекта http://electronix.ru/redirect.php?https://ru.bmstu.wiki/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. Скачать http://electronix.ru/redirect.php?https://gitlab.denx.de/Xenomai/xenomai, собрать из исходников и установить...
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 );
...
Цитата(Olej @ Jul 2 2018, 05:54)
Собирать рабочий образ realtime системы с Xenomai довольно противное занятие,
К счастью, на "попробовать" есть готовые публично доступные образы системы, от одного из голландских университетов, которые они используют в учебном спецкурсе по embedded системам:
- образ SD-карты для Rapsberry Pi: http://electronix.ru/redirect.php?http://www.cs.ru.nl/lab/xenomai/raspberrypi.html
- образ виртуальной машины под VirtualBox: http://electronix.ru/redirect.php?http://www.cs.ru.nl/lab/xenomai/virtualbox.html
И тот, и другой вариант мной проверен на работоспособность и адекватность.