Цитата(Olej @ Jul 1 2018, 13:16)
Кто собирал ядро 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 );
...
Цитата(Olej @ Jul 2 2018, 05:54)
Собирать рабочий образ 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И тот, и другой вариант мной проверен на работоспособность и адекватность.