错误提示
'endmenu' in different file than 'menu'
endmenu
后面没有空行导致,加空行就可以了
语法
- 注释
注释以
#
开始
menu
endmenu
直接运行menuconfig
,可以看到最上层的菜单:
- 类型后面的说明
通过enter
进入第二层菜单:
select
select
表示如果选中了这个配置,那由select
选中的配置就一定会被选中!
5. menuconfig
注意上面的Enable I2C1 BUS
在没有选中的情况下后面是----
,而选中后会变成--->
,表示可以进入,并进行更深入的配置(这就是menuconfig
的作用,menuconfig
里面一般都有if
endif
语句进行配套使用(用于指定更细节的配置项)。但没有endmenuconfig
哦):
6. depends on
接下来选中DMA试一下:
7. int
型配置
8. choise
本文使用的Kconfig
文件
在写的过程中,稍微有一些修改,但以上所涉及的知识点都还是一样的。
menu "Hardware Drivers Config"
config SOC_STM32F429ZI
bool
select SOC_SERIES_STM32F4
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
default y
config SOC_TEST
bool "Test"
select SOC_TEST1
default y
menu "Onboard Peripheral Drivers"
config BSP_USING_FMC
bool "Enable FMC"
default n
config BSP_USING_SDRAM
bool "Enable SDRAM"
select BSP_USING_FMC
default n
endmenu
menu "On-chip Peripheral Drivers"
config BSP_USING_GPIO
bool "Enable GPIO"
select RT_USING_PIN
default y
config RT_SERIAL_USING_DMA
bool "Enable serial dma"
default n
menuconfig BSP_USING_UART
bool "Enable UART"
default y
select RT_USING_SERIAL
if BSP_USING_UART
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
default n
config BSP_USING_UART2
bool "Enable UART2"
default n
config BSP_UART2_RX_USING_DMA
bool "Enable UART2 RX DMA"
depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
default n
endif
endmenu
choice
prompt "Memheap memory allocation mode"
default RT_MEMHEAP_FAST_MODE
config RT_MEMHEAP_FAST_MODE
bool "fast mode"
help
Speed priority mode.
As long as the memory block size meets the requirements, the search ends immediately.
config RT_MEMHEAP_BEST_MODE
bool "best mode"
help
Best size first.
The search does not end until the memory block of the most appropriate size is found
config CHOICE_3
tristate "choice 3"
help
Just for test.
djd 20230601
endchoice
endmenu # "Hardware Drivers Config"