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

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

[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.

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


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

Кто собирал ядро 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

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

 

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...