сокет: семейство адресов не поддерживается из-за ошибки протокола на Raspberry Pi с xenomai - PullRequest
0 голосов
/ 26 апреля 2020

Я пытался запустить пример 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.

1 Ответ

0 голосов
/ 28 апреля 2020

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

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

...