问题标签 [xenomai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
735 浏览

c - PREEMPT_RT 和 Xenomai 之间的 Pthreads 基准测试

我正在尝试在 Raspberry Pi 中按原样对 Xenomai、PREEMPT_RT 和 Linux 进行基准测试,但遇到了一些麻烦。

我正在尝试创建可变数量的线程,具有 RT 优先级和可变的睡眠时间。其中一个线程具有较高的 RT 优先级,从 GPIO 读取,并写入另一个 GPIO(以读取示波器或类似设备上的延迟),而具有较低 RT 优先级的其他线程仅执行算术运算。GPIO 映射到内存上,因此可以避免协议开销。

我在这个测试中考虑: 1 线程 1 us 50 线程 10 us 100 线程 100 us 150 线程 1 ms 200 线程 10 ms 250 线程 100 ms

问题是只创建了一些线程。当线程数很高时,就会出现内存问题并且进程停止。那么,我应该如何进行呢?是代码不对,是时间太短,还是线程数太高?

这是代码:

0 投票
3 回答
65925 浏览

c - 错误无效表达式的使用

我有一个函数int rt_task_start (RT_TASK *task, void(*task_func)(void *arg), void *arg) ,在第二个参数中我传递一个带参数的函数。

  1. 当我当时只传递一个函数名时没有问题。(正如预期的那样它正在工作)。rt_task_start(&demo_task1, demo, 1);
  2. 但是当我通过时rt_task_start(&demo_task1, demo(&val), 1);,它给了我错误error: invalid use of void expression。变量 val 是之前定义的。int val = 0;
  3. 当我用这个打电话时,这 显示rt_task_start(&demo_task1, demo(val), 1);错误 。Warning passing argument 1 of 'demo' makes pointer from integer without a casterror: invalid use of void expression
  4. int *val; *val = 0; rt_task_start(&demo_task1, demo(&val), 1);这也给了我错误。

我不明白我应该传递什么,作为一个空指针。它给了我错误。请有任何想法!

0 投票
0 回答
1141 浏览

linux - Buildroot - 带有 Xenomai 补丁的内核配置

我正在尝试将 Raspberry Pi 板与 Buildroot 生成的图像一起使用。我正在使用此处建议的 raspberrypi_defconfig 配置,以生成 rootfs、内核映像和启动系统所需的所有文件。

问题

为了构建实时系统,我需要应用可用于内核 3.5.7、3.10.32 和 3.14 的 Xenomai 内核补丁。可在此处找到可用的 Xenomai 补丁列表。以下是我在图形配置工具中所做的更改:

  • 工具链 -> 内核头文件(手动指定的 Linux 版本) -> 3.5.7
  • 内核 -> 内核版本(自定义)-> 3.5.7 作为内核版本
  • 内核->内核配置(使用defconfig)->(bcmrpi_quick
  • 内核 -> Linux 内核扩展 -> [*] Adeos/Xenomai 实时补丁
  • 内核 -> Linux 内核扩展 -> Adeos 补丁文件的路径(正确补丁的相对路径)

在 make 命令之后,我收到以下错误。Buildroot 找不到配置文件

/buildroot-2013.11/output/build/linux-3.5.7/arch/arm/configs/bcmrpi_quick_defconfig':没有这样的文件或目录

我应该在Kernel -> Defconfig name字段中使用哪个 defconfig 名称?

感谢您对这种情况的帮助。

0 投票
1 回答
307 浏览

c - 从用户空间切换 linux x86 中的上下文以使用 Xenomai 运行

我需要在我的 x86 平台上使用 linux 中的上下文切换,类似于 ucontext.h,

但不幸的是 ucontext 使用内核调用来做到这一点。在我的 Xenomai 环境中,任何内核函数调用都会将系统变为辅助模式(linux 调度)

那么如何在不离开用户空间的情况下通过存储 FPU 寄存器在 x86 平台上切换上下文呢?

0 投票
1 回答
155 浏览

linux - Fedora - Xenomai RTDM - 无法分配内存

我尝试在 xenomai-xx/examples/rtdm/deriver-api/ 下运行 tut01-skeleton-derv.c 示例。我运行makefile没有错误。tut01-skeleton-derv.c 文件中的命令说:

要测试此应用程序,您只需要:

首先,我export LD_LIBRARY_PATH=/usr/xenomai/lib/在终端上运行,没关系。当我运行时sudo insmod tut01-skeleton-drv.ko,发生了错误。“无法插入模块 tut01-skeleton-drv.ko:无法分配内存”。我应该怎么办?

0 投票
1 回答
375 浏览

c - Xenomai - 无法打开设备

我写了一个用户空间应用程序。当我运行fd = rt_dev_open("/dev/ttyACM0");时,我得到一个错误。它说no such device。但是当我使用 POSIX open() 函数时,它工作正常。如何使用此文件 xenoami rtdm 模块?

0 投票
2 回答
1438 浏览

linux - Xenomai modules installation using Buildroot

I would like to test Xenomai features with the latency test under a specified load but when I try to execute the command the follwing error shows up.

The system has been built with Buildroot. In the /proc/xenomai folder, the version file contains:

Here is the relevant part of the configuration file I have used to build the system:

Is this configuration file correct? Where can I find all the test programs provided by Xenomai?

EDIT

there is no xenomai folder in usr/. I've noticed in /usr/bin the following programs:

How can I use this files?

The only folder called xenomai is the one in the /proc

EDIT2

The content of output/target/usr/bin does not contain the latency program:

0 投票
0 回答
159 浏览

c - Xenomai 串口错误数据

我正在尝试通过无线电 apc220 从 C-xenomai 程序向 arduino Mega 发送和从 arduino Mega 发送。

我创建了一项用于发送的任务,以及一项用于在 xenomai 程序中阅读的任务。arduino 端读取和写入串行。

波特率都相等并尝试了 9600 和 19200,但接收到的数据是随机数据,而不是发送的值。

C 代码(这是在具有“rt_task_set_periodic(NULL, TM_NOW, TM_INFINITE);”的任务中,任务创建优先级为 99)。bufferMotorX 的值不断变化。

Arduino方面:

关于我做错了什么的任何想法?

0 投票
1 回答
145 浏览

linux - Xenomai 资源

我刚刚开始熟悉 Linux,我想知道你们是否可以帮助我找到关于在 Linux 上运行 Xenomai 的说明的好资源(很容易理解)。

谢谢

0 投票
1 回答
7924 浏览

linux - RT preempt vs RTAI vs Xenomai for real-time linux

这三个引用的实时操作系统框架、扩展或补丁有什么区别、优缺点?

我想测量一个 CPU 时间戳计数器 (TSC),每次发送或接收数据帧或 Wifi 的确认帧时的纳秒时间。

我意识到需要三种实时技术中的一种来提高精度并减少由于抢占、中断和上下文变化引起的抖动。

目前,我正在将 RTAI 应用于内核。由于编译需要很长时间,我想读一些关于这三个的东西。

你能推荐一些文件或解释一下吗?