Kconfig и выберите, чтобы получить предопределенные и редактируемые конфигурации? - PullRequest
0 голосов
/ 04 апреля 2020

Я хочу предоставить конфигурацию Kconfig / menuconfig для реализации. Я использую набор инструментов из Espressif ESP-IDF 3.3, но, похоже, он не связан с набором инструментов. Я хочу иметь минимальный результирующий файл sdkconfig без каких-либо дополнительных символов «помощника».

Пользователь должен либо использовать (a) предопределенную опцию конфигурации, либо выбрать (b), чтобы установить все значения самостоятельно.

Вот мой текущий код Kconfig:

menu "Test"

    choice PREDEFINED
        prompt "Select predefined configuration"
        default PREDEF_NONE

        config PREDEF_NONE
            bool "None"
        config PREDEF_OPT_A
            bool "Option A"
            select BOARD_A
            select FEATURE_A
        config PREDEF_OPT_B
            bool "Option B"
            select BOARD_B
            select FEATURE_B
    endchoice

    menu "Submenu"
        visible if PREDEF_NONE

        choice
            prompt "Select Board"
            config BOARD_A
                bool "Board A"
            config BOARD_B
                bool "Board B"
        endchoice

        choice
            prompt "Select Feature"
            config FEATURE_A
                bool "Board A"
            config FEATURE_B
                bool "Board B"
        endchoice
    endmenu

endmenu

Если выбрана предопределенная опция A, подменю не должно отображаться (это работает), и результирующий sdkconfig создается командой make menuconfig с использованием этого файла Kconfig должен выглядеть так:

#
# Test
#
CONFIG_PREDEF_NONE=
CONFIG_PREDEF_OPT_A=y
CONFIG_PREDEF_OPT_B=

#
# Submenu
#
CONFIG_BOARD_A=y
CONFIG_BOARD_B=
CONFIG_FEATURE_A=y
CONFIG_FEATURE_B=

но я получаю только первые три строки

#
# Test
#
CONFIG_PREDEF_NONE=
CONFIG_PREDEF_OPT_A=y
CONFIG_PREDEF_OPT_B=

Когда я выбираю PREDEF_NONE и устанавливаю значения в Подменю вручную, все в порядке.

Есть идеи, как поступить или что здесь не так?

С уважением, Андреас

...