我一直试图在具有xenomai补丁内核的树莓派上运行xddp-label.c
中给出的xenomai documentation示例。我可以很好地编译该程序,但是当我尝试运行该程序时,出现错误:socket: Address family not supported by protocol
。我发现尝试从文档中编译其他xddp示例时遇到相同的错误。我怀疑它与AF_RTIPC
宏和套接字有关,但是我对套接字编程一无所知,所以我不确定。我希望有人可以帮助我。
我正在this tutorial的树莓派上使用预构建的xenomai内核。我也尝试过使用自定义修补的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
运行程序。
我自己找到了解决方案。