【Kconfig】linux-Kconfig相关配置及分析指南
2021/9/24 7:12:51
本文主要是介绍【Kconfig】linux-Kconfig相关配置及分析指南,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用Kconfig时,需要注意:
- 在Kconfig中定义的配置宏,前缀都没有"CONFIG_",只有编译内核时,自动生成autoconf.h才会出现前缀.
- 如果XX_defconfig板卡配置文件中定义新的宏=y时,而在Kconfig并没有声明它,则内核编译出来的autoconf.h里也不会定义它的.
- 如果XX_defconfig板卡配置文件中没有设置CONFIG_MODULES=y,则编译make modules时将会失败,而make
menuconfig时, Kconfig中的tristate参数也会被读写为bool参数(也就是不能设置m)
CONFIG宏变量参数
- bool: 表示该CONFIG宏只能选择y(编译内核)或者n(不编译),不能选择m(编译为模块)
- tristate: 表示该CONFIG宏可以设置y/m/n三种模式(tristate)
- string: 表示该CONFIG宏可以设为一串字符,比如#define CONFIG_XXX “config test”
- hex: 表示该CONFIG宏可以设为一个十六进制,比如#define CONFIG_XXX 0x12345
- int: 表示该CONFIG宏可以设为一个整数,比如#define CONFIG_XXX 12345
常用参数
- default y: 表示默认是勾上的,当然也可以写为default m或者default n
- help: 帮助提示信息
- depends on:依赖项,比如depends on XXX 表示当前宏需要CONFIG_ XXX宏打开的前提下,才能设置它
(注意依赖项的config参数只有bool或tristate才有效) - select : 反依赖项,和depends on刚好相反,比如 selecton
XXX表示当前宏如果是y或者m,则会自动设置XXX=y或者m(注意参数只有bool或tristate才有效) - choice:
会生成一个单选框,里面通过多选一方式选择config,需要注意choice中的config参数只能bool或tristate - prompt: 提示信息,如果对于choice而言,则会用来当做一个单选框入口点的标签
- range : 设置用户输入的数据范围,比如range 0 100表示数据只能位于0~100
- menuconfig: menuconfig XXX和config
XXX类似,唯一不同的是该选项除了能设置y/m/n外,还可以实现菜单效果(能回车进入该项内部)
menuconfig MY_SYSMODE_TEST #生成一个菜单宏项 bool "MY_SYSMODE_TEST" default y config MY_SYSMODE1 bool "my sysmode is bool" default y depends on MY_SYSMODE_TEST config MY_SYSMODE2 tristate "my sysmode2 is tristate" default m depends on MY_SYSMODE_TEST config MY_SYSMODE3 string "my sysmode3 is string" default "test sysmode3" depends on MY_SYSMODE2 && MY_SYSMODE_TEST config MY_SYSMODE4 hex "my sysmode4 is hex" range 0 0x2000 #设置hex区间 default 0x1234 depends on MY_SYSMODE2 && MY_SYSMODE_TEST config MY_SYMBOL5 int "my sysmode5 is int" range 0 2000 #设置int区间 default 1234 depends on MY_SYSMODE2 && MY_SYSMODE_TEST
编译内核后,查看autoconf.h
这篇关于【Kconfig】linux-Kconfig相关配置及分析指南的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法