注释
您要加载哪个实时组件? 配置脚本似乎在寻找 Xenomai 吗? |
亲爱的安迪普, |
我假设你想标记其他人:-) |
好,谢谢! |
您正在配置 –with-realtime=uspace 所以我希望定义 RTAPI_USPACE 。 如果您查看启动配置,您会看到 CONFIG_IPIPE 和 CONFIG_XENO 中的哪一个? 第 41 行 a2f1fdd
|
亲爱的安迪普,谢谢! |
uname -a 说什么?这是否表示 Xenomai 内核? 然后查看内核配置 (/boot/config-{name-of-the-kernel-you-are-actually-running} 并查看文件是否包含 CONFIG_XENO 和 CONFIG_IPIPE |
这个问题还存在吗?或者你解决了吗? |
抱歉回复晚了,我已经解决了。谢谢你! |
亲们,
我在使用loadrt命令加载realtime组件时,发现在“halcmd_commands.c”文件中,“do_loadusr_cmd”函数将realtime组件加载到用户空间,详细信息如下:
LinuxCNC版本:master
内核版本:4.19.163
xenomai版本:3.1.0
Ubuntu18.04
$ cd src/
$ ./autogen.sh
$ ./configure –with-realtime=uspace
$ make
$ sudo make setuid
$ source ../script/rip-enviroment
通过命令“./configure –with-realtime=uspace”进行配置,在“config.h”文件中定义了“RTAPI_USPACE”宏,具体如下:
/* Realtime system is userspace * /
#define RTAPI_USPACE /**/
函数“do_loadusr_cmd”的详细信息如下:
int do_loadrt_cmd(char *mod_name, char *args[])
{
char arg_string[MAX_CMD_LEN+1];
int m=0, n=0, retval;
hal_comp_t *comp;
字符 *argv[MAX_TOK+3];
字符cp1;
#if defined(RTAPI_USPACE)
argv[m++] = “-Wn”;
argv[m++] = 模组名称;
argv[m++] = EMC2_BIN_DIR “/rtapi_app”;
argv[m++] = “加载”;
argv[m++] = 模组名称;
/遍历剩余参数 */
while ( args[n] && args[n][0] != ‘\0’ ) {
argv[m++] = args[n++];
}
argv[m++] = NULL;
retval = do_loadusr_cmd(argv);
#else
….
}
是“./configure”的命令不正确?
那么,如何配置“./configure”命令的参数才能正确执行loadrt指令呢?
@vmiklos 你能给我一些建议吗?非常感谢!