- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这里遇到一个特殊问题。
我正在尝试编译这段代码 https://github.com/severinson/VLC-driver在 Raspberry PI 3 上(使用 xenomai v3.0.3 编译的 Linux Kernel v4.1.21)但是我遇到了多个编译器错误
make -C /lib/modules/4.1.21-xenomai+/build M=/home/pi/VLC-driver modules
make[1]: Entering directory '/home/pi/linux'
CC [M] /home/pi/VLC-driver/vlc_timer_handler.o
/home/pi/VLC-driver/vlc_timer_handler.c:16:9: error: unknown type name ‘rtdm_task_t’
rtdm_task_t rx_handler_task;
^
/home/pi/VLC-driver/vlc_timer_handler.c:66:1: error: unknown type name ‘rtdm_sem_t’
rtdm_sem_t rx_sem;
^
/home/pi/VLC-driver/vlc_timer_handler.c:67:1: error: unknown type name ‘rtdm_sem_t’
rtdm_sem_t tx_sem;
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘send_bit’:
/home/pi/VLC-driver/vlc_timer_handler.c:82:3: error: implicit declaration of function ‘rtdm_task_sleep_abs’ [-Werror=implicit-function-declaration]
rtdm_task_sleep_abs(tx_sleep_slot, RTDM_TIMERMODE_ABSOLUTE);
^
/home/pi/VLC-driver/vlc_timer_handler.c:82:38: error: ‘RTDM_TIMERMODE_ABSOLUTE’ undeclared (first use in this function)
rtdm_task_sleep_abs(tx_sleep_slot, RTDM_TIMERMODE_ABSOLUTE);
^
/home/pi/VLC-driver/vlc_timer_handler.c:82:38: note: each undeclared identifier is reported only once for each function it appears in
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘get_bit_early_late’:
/home/pi/VLC-driver/vlc_timer_handler.c:117:25: error: ‘RTDM_TIMERMODE_ABSOLUTE’ undeclared (first use in this function)
RTDM_TIMERMODE_ABSOLUTE);
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘get_bit’:
/home/pi/VLC-driver/vlc_timer_handler.c:168:38: error: ‘RTDM_TIMERMODE_ABSOLUTE’ undeclared (first use in this function)
rtdm_task_sleep_abs(rx_sleep_slot, RTDM_TIMERMODE_ABSOLUTE);
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘tx_send_ack’:
/home/pi/VLC-driver/vlc_timer_handler.c:195:5: warning: this decimal constant is unsigned only in ISO C90
send_bit(mask_bit((int) VLC_ACK, i));
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘rx_get_preamble’:
/home/pi/VLC-driver/vlc_timer_handler.c:346:5: warning: this decimal constant is unsigned only in ISO C90
if(rx_packet->current_preamble == (int) VLC_ACK){
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘rx_send_ack’:
/home/pi/VLC-driver/vlc_timer_handler.c:424:5: warning: this decimal constant is unsigned only in ISO C90
if(rx_packet->current_preamble == (int) VLC_ACK){
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘setup_timer_handler’:
/home/pi/VLC-driver/vlc_timer_handler.c:468:3: error: implicit declaration of function ‘rtdm_sem_init’ [-Werror=implicit-function-declaration]
rtdm_sem_init(&tx_sem, 1);
^
/home/pi/VLC-driver/vlc_timer_handler.c:472:3: error: implicit declaration of function ‘rtdm_clock_read_monotonic’ [-Werror=implicit-function-declaration]
rx_sleep_slot = rtdm_clock_read_monotonic();
^
/home/pi/VLC-driver/vlc_timer_handler.c:481:3: error: implicit declaration of function ‘rtdm_task_init’ [-Werror=implicit-function-declaration]
rtdm_task_init(&rx_handler_task, "VLC rx handler", rx_handler,
^
/home/pi/VLC-driver/vlc_timer_handler.c:482:24: error: ‘RTDM_TASK_HIGHEST_PRIORITY’ undeclared (first use in this function)
NULL, RTDM_TASK_HIGHEST_PRIORITY, 0);
^
/home/pi/VLC-driver/vlc_timer_handler.c:492:3: error: implicit declaration of function ‘rtdm_task_destroy’ [-Werror=implicit-function-declaration]
rtdm_task_destroy(&rx_handler_task);
^
/home/pi/VLC-driver/vlc_timer_handler.c: In function ‘cleanup_timer_handler’:
/home/pi/VLC-driver/vlc_timer_handler.c:502:3: error: implicit declaration of function ‘rtdm_sem_destroy’ [-Werror=implicit-function-declaration]
rtdm_sem_destroy(&rx_sem);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/home/pi/VLC-driver/vlc_timer_handler.o' failed
make[2]: *** [/home/pi/VLC-driver/vlc_timer_handler.o] Error 1
Makefile:1384: recipe for target '_module_/home/pi/VLC-driver' failed
make[1]: *** [_module_/home/pi/VLC-driver] Error 2
make[1]: Leaving directory '/home/pi/linux'
Makefile:15: recipe for target 'all' failed
make: *** [all] Error 2
我能够在 Raspberry PI(带有 xenomai v2.6.3 的 Linux 内核 3.10.25)上成功编译此代码。我确实遇到了一些缺少头文件的问题,但没有任何问题无法使用 CCFLAGS 进行排序并包括正确的头文件位置。
之前还有一些其他的编译器错误(缺少头文件),但我使用这EXTRA_CFLAGS =-I$(KERNEL_SRC)/include/xenomai -I$(KERNEL_SRC)/include/xenomai/native -I/home/pi/xenomai-3.0.3/include/trank -I/usr/include/arm-linux-gnueabihf -I/usr/xenomai/include/cobalt -I/usr/include -I/usr/xenomai/include -L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
在生成文件中
但现在我收到编译器错误(见上文)
我希望我已经提供了足够的信息。任何帮助将不胜感激
最佳答案
rtdm_task_t
定义在 rtdm/rtdm_driver.h
您是否有可能错过了有关未找到“rtdm_driver.h”的错误消息?
我看到有这样的错误消息,您通过修改 ?? 来“修复”了这些错误消息
建议回到原始代码,尤其是 Makefile
中的原始代码,然后找出为什么编译器没有看到所有需要的头文件。
关于在树莓派 3 上编译 xenomai v2 代码(使用 xenomai v3 编译的内核 v4.y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43730932/
这里遇到一个特殊问题。 我正在尝试编译这段代码 https://github.com/severinson/VLC-driver在 Raspberry PI 3 上(使用 xenomai v3.0.3
我编写了一个用户空间应用程序。当我运行 fd = rt_dev_open("/dev/ttyACM0"); 时,出现错误。它说没有这样的设备。但是当我使用 POSIX open() 函数时,它工作得很
我正在创建一个周期线程,它在模拟输出上输出方波信号。我正在使用来自 Xenomai API 的 Posix Skin 和 Analogy。 我使用示波器测试了我的代码的实时性能,并查看了方波信号(频率
我是 Xenomai 的新手,我想测量两点之间的时间。 我想先发送一个 10µs 的脉冲。之后,我等到有中断。 我想测量脉冲和中断之间的时间。我使用“rtmd_clock_read()”函数。所以它返
我需要比较 preempt_rt 补丁、Xenomai 和 RTAI 之间的性能。他们每个人都有自己的基准测试,但没有给出相似的结果,并且并非所有基准测试都适用于所有三个平台。我正在寻找的是一个基准测
我正在编写一个具有多个多线程进程的稍微复杂的软件。因为其中一个我需要实时功能(基本上是为了稳健性),所以我为 Xenomai 修补了我的目标内核,并使用 Xenomai 的 native 皮肤对其进行
我尝试在 xenomai-x.x/examples/rtdm/deriver-api/下运行 tut01-sculpt-derv.c 示例。我运行 makefile 没有错误。 tut01-骨骼-de
我正在运行一个有时需要调用 gettimeofday() 的 Xenomai 实时线程,以便根据 ptpd 找出当前时间。 但是,这样做似乎不安全:特别是,它偶尔会使 Xenomai 线程和 Linu
我想在指定负载下使用延迟测试来测试 Xenomai 功能,但是当我尝试执行命令时出现以下错误。 # ./latency -p 100 sh: ./latency command not found 该
我正在 Xenomai 中测试 POSIX 皮肤。我正在尝试从 Raspberry Pi 上的一些 GPIO 读取和写入,当我执行程序时,上下文切换的次数越来越多(在/proc/xenomai/sta
我是 Xenomai 的新手,所以如果我的问题很愚蠢,请原谅我 我已经使用命令在我的 ubuntu 11.04 中安装了 xenomai 2.4.8 apt-get install libxenoma
我需要在我的 x86 平台上使用 linux 中的上下文切换,类似于 ucontext.h, 但不幸的是,ucontext 使用内核调用来完成它。在我的 Xenomai 环境中,任何内核函数调用都会将
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lrtdk 我在 ld
我想在 Ubuntu 16.04 LTS 上安装 Xenomai 3。 我无法找到任何合适的安装指南/程序。 请求帮助。 最佳答案 安装钴芯的注意事项 1)下载Ubuntu 16.04.1(v4.4内
这三种实时操作系统框架、扩展或补丁有何区别、优缺点? 我想测量一个 CPU 时间戳计数器 (TSC),每次发送或接收 Wifi 数据帧或确认帧时的时间(以纳秒为单位)。 我意识到需要三种实时技术中的一
我正在使用 buildroot 在内核版本 3 上构建 Xenomai 2。 Buildroot 完成了。现在我试图用“make”命令编译它。当我尝试使用“make”命令进行编译时,它似乎失败了:目标
我是一名优秀的程序员,十分优秀!