有没有办法忽略Knterfig文件中的解析错误Nuttx make menuconfig setup

时间:2017-03-24 14:46:26

标签: makefile linux-kernel embedded-linux

使用menuconfig进行nuttx开发。

尝试在下面进行自定义电路板设置:

if ARCH_BOARD_FOO
source "configs/FOO/Kconfig"
endif

问题在这里,我希望对FOO目录有一些权限控制。所以并非所有用户都能看到它。

但是,无论if条件是否为真,kconfig语言似乎总是会解析文件。因此,这导致make menuconfig无法打开,因为用户没有FOO目录的权限。

任何人都知道解决方案吗?

2 个答案:

答案 0 :(得分:1)

尝试使用自定义电路板配置。然后您的电路板目录可以位于NuttX源树的内部或外部。在任何一种情况下,配置系统都不会看到它。你可以这样配置:

CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_NAME="myboard"
CONFIG_ARCH_BOARD_CUSTOM_DIR="/home/users/me/myboard"
... and other options ...

在上面的示例中,board目录位于NuttX源树之外,是绝对路径。电路板配置也可以位于NuttX内部,路径可以指定为相对于顶级目录:

CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y

例如:

CONFIG_ARCH_BOARD_CUSTOM_DIR="configs/FOO"
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y

现在,如果未定义CONFIG_ARCH_BOARD_CUSTOM = y,则无法从配置系统访问/ home / users / me / myboard或configs / FOO。

这是有效的,因为自定义板Kconfig文件将使用CONFIG_ARCH_BOARD_CUSTOM = y链接到自定义配置中的configs / dummy / Kconfig。否则configs / dummy / Kconfig将链接到空配置以满足配置系统。

答案 1 :(得分:0)

为了忽略错误,您可以使用:

if ARCH_BOARD_FOO
-source "configs/FOO/Kconfig"
endif