сокет: семейство адресов не поддерживается из-за ошибки протокола на raspberry pi с xenomai

Я пытался запустить пример xddp-label.c, как указано в документация xenomai на моем raspberry pi с исправленным ядром xenomai. Я могу скомпилировать программу, но когда я пытаюсь запустить ее, я получаю сообщение об ошибке: socket: Address family not supported by protocol. Я заметил, что получаю ту же ошибку при попытке скомпилировать другие примеры xddp из документации. Я подозреваю, что это как-то связано с макросом AF_RTIPC и сокетами, но я ничего не знаю о программировании сокетов, поэтому не уверен. Я надеюсь, что кто-то может помочь мне с этим.

Я использую предварительно собранное ядро ​​xenomai на своем raspberry pi из это руководство. Я также пытался запустить программу с исправленным ядром xenomai, но безуспешно.

Для справки, вывод uname -a:

Linux raspberrypi 4.9.80-v7-xeno3+ #2 SMP PREEMPT Fri Aug 10 15:04:48 KST 2018 armv7l GNU/Linux

Makefile, который я использую для компиляции программы:

SKIN=posix
MAIN_SRC=xddp_label
TARGET=xddp_label
CC=g++

LM=-lm

CFLAGS := -g $(shell xeno-config --posix --skin=$(SKIN) --cflags)
LDFLAGS := -g $(LM) $(shell xeno-config --posix --skin=$(SKIN) --ldflags)
#CC := $(shell xeno-config --cc)

$(TARGET): $(MAIN_SRC).c
    $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)

Я запускаю программу с sudo ./xddp_label.c.


person Yousousen    schedule 26.04.2020    source источник


Ответы (1)


Я сам нашел решение.

При сборке ядра в конфигурации ядра должна быть включена опция CONFIG_XENO_DRIVERS_RTIPC_XDDP.

person Yousousen    schedule 28.04.2020