<Kconfig><1>基础语法

一. 文件开头 mainmenu

#菜单开头
mainmenu "LOG_TEST DEMO Config"

二. 菜单块 menu/endmenu

menu 之后的字符串是菜单名。menuendmenu间有很多 config语句

menu "Hardware Drivers Config"
    配置块一
    配置块二
endmenu

三. 配置块 config menuconfig

配置的选项块隐藏

隐藏:

config BSP_USING_GPIO
    bool
    default y

显示:

config BSP_USING_GPIO
    bool "Enable GPIO"
    default y

config

#  配置选项的开始  配置选项名称
config BSP_USING_GPIO 

    #   配置类型定义 -- 5种
    #   bool 布尔类型        default n
    #   tristate 三态类型    表示在内核中的三种状态
    #        用法:
    #            y 不选中
    #            n 选中编译到内核
    #            m 手动添加驱动
    #   string 字符串        default "uart1"
    #   hex 十六进制         用法同下--区别生成的数的进制不一样
    #   int 整形             
    #        使用整形时需要有范围
    #        int "ssss"
    #        range 1 176
    #        default 116
    bool "Enable GPIO"//类型 输入提示
    
    #   反向依赖关系     
    #   select:开启 BSP_USING_GPIO 需要依赖 RT_USING_PIN
    #        RT_USING_PIN 功能会被自动选定;
    select RT_USING_PIN//依赖关系
    
    #   配置选项的默认值
    #   bool的可以是 y/n  
    default y//默认值

    #   config gpio
    #   为帮助信息
    help//帮助信息
    config gpio
#===============================================
    #   配置结束后
    #   rtconfig.h 有如下内容
    #        #define RT_USING_PIN
    #        #define BSP_USING_GPIO

menuconfig

# menuconfig 这个语句和 config 语句很相似
# 它在 config 的基础上要求所有的子选项作为独立的行显示。
menu "Hardware Drivers Config"
    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_UART1_RX_USING_DMA
                #   只有在 BSP_USING_UART1 && RT_SERIAL_USING_DMA 为真时
                #   方可显示
                depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
                default n
        endif
endmenu

四. 条件显示 if depends on

if

当没有选中 “Enable CAN” 选项时( 就是宏 BSP_USING_CAN ),下面通过 if 判断的 Enable CAN1 选项并不会显示出来

menu "Hardware Drivers Config"
    menuconfig BSP_USING_CAN
        bool "Enable CAN"
        default n
        select RT_USING_CAN
        if BSP_USING_CAN
            config BSP_USING_CAN1
                bool "Enable CAN1"
                default n
        endif
endmenu

depends on

depends on 条件满足 内容显示

# RT_USNING_A 选定或者 RT_USNING_B 不选定的情况下
# 显示 BSP_USING_UART3 的配置菜单选项
# 默认 是否 为选择状态  取决于  default n
config BSP_USING_UART3
    bool "UART3 config"
    depends on RT_USNING_A || !RT_USNING_B
    select RT_USING_SERIAL
    default n

五. 依赖 select

# 开启 BSP_USING_UART3 需要依赖 RT_USING_SERIAL
# 若 BSP_USING_UART3 开启, 
# RT_USING_SERIAL 功能会被自动选定
config BSP_USING_UART3
    bool "UART3 config"
    select RT_USING_SERIAL
    default n

六. 单选块 choice

menu "Hardware Drivers Config"
    menuconfig BSP_USING_ONCHIP_RTC
        bool "Enable RTC"
        select RT_USING_RTC
        select RT_USING_LIBC
        default n
        if BSP_USING_ONCHIP_RTC

            #   choice/endchoice 给出选择项
            #   中间可以定义多个配置项供选择
            #   但只能选择一个配置项
            choice

                # prompt
                #     标头提示信息 
                #     bool
                #     prompt "Networking support"
                # 等价的
                #     bool "Networking support"
                prompt "Select clock source"
                udefalt BSP_RTC_USING_LSE

                config BSP_RTC_USING_LSE
                    bool "RTC USING LSE"

                config BSP_RTC_USING_LSI
                    bool "RTC USING LSI"
            endchoice
        endif
endmenu

七. 界面头部显示 comment

menu "Hardware Drivers Config"
	# 出现在  "Hardware Drivers Config" 界面的第一行
	# 作为提示
    comment "uart2 pin conflict with Ethernet and PWM"
    config BSP_USING_COM2
        bool "Enable COM2"
        select BSP_USING_UART
        select BSP_USING_UART2
        default n
endmenu

八. 多文件联动 source

语句用于读取另一个文件中的 Kconfig 文件

source "../libraries/HAL_Drivers/Kconfig"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在CUDA编程,kernel<<<>>>是用来启动并行计算的语法。在<<<>>>,必须指定一个表达式作为参数,该表达式指定了并行计算的线程块(block)和线程(thread)的数量。这个表达式的格式可以是一个常数,也可以是一个变量或者一个计算表达式。 例如,如果想要启动一个有16个线程块和256个线程的并行计算,可以使用以下形式的表达式: kernel<<<16, 256>>>(); 其,16表示线程块的数量,256表示每个线程块的线程数量。 另外,如果希望在编译时指定默认的线程块和线程数量,可以使用宏定义或者模板的方式来实现。通过设置默认值,并在调用kernel时不指定表达式,就可以使用默认的线程块和线程数量。同时,也可以添加依赖关系来根据不同的条件设置不同的默认值。 总结起来,当使用kernel<<<>>>时,必须提供一个表达式来指定线程块和线程的数量。这个表达式可以是一个常数、变量或者计算表达式。另外,也可以通过设置默认值和添加依赖关系来实现更灵活的使用方式。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [玩转CUDA——提示应输入表达式](https://blog.csdn.net/gaohang_hdu/article/details/81119627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Kconfig语法](https://download.csdn.net/download/pengfei24/4328218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青蓝灰紫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值