Перейти к содержанию

    

realtime Linux с Xenomai

Кто использует?

Кто что может сказать по этому поводу?

 

Начну с вот этого:

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

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.

Есть у кого опыт и успехи в этом деле?

 

А я потом :biggrin: поделюсь своими знаниями и находками относительно Xenomai.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Кто собирал ядро 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

И тот, и другой вариант мной проверен на работоспособность и адекватность.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация