Jump to content

    
Sign in to follow this  
Olej

realtime Linux с Xenomai

Recommended Posts

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

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

 

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

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.

Share this post


Link to post
Share on other sites
Кто собирал ядро 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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this