【Zephyr开发系列-14】Kconfig语法

发布时间:2026/8/11 10:38:23
【Zephyr开发系列-14】Kconfig语法 文章目录1 简介1.1 符号1.1.1 配置可见符号1.1.2 配置不可见符号1.2 Kconfig.defconfig1.3 使用另一个符号取值2 kconfig语句2.1 类型语句2.1.1 bool类型2.1.2 int类型2.1.3 hex类型2.1.4 string类型2.2 逻辑表达式2.3 if语句2.4 prompt语句2.5 range语句2.6 comment语句2.7 help语句2.8 default语句2.9 configdefault语句2.10 def_简写语句2.11 choice语句2.11.1 使用配置文件方式2.11.2 使用Kconfig.defconfig方式2.12 depends on语句2.13 select语句2.13.1 用select设置helper符号2.13.2 select使用建议2.14 imply语句2.15 mainmenu语句2.16 menu语句2.17 visible if语句2.18 menuconfig语句2.19 XXsource语句2.19.1 source2.19.2 osource2.19.3 rsource2.19.4 orsource3 核心要点1 简介Zephyr的配置系统基于Python实现的Kconfiglib,而不是Linux内核源码树中scripts/kconfig/下的原生Kconfig实现。与Linux内核通常使用的conf、mconf、nconf、qconf等工具相比,Kconfiglib在保持对标准Kconfig语法兼容的同时,也引入了面向Zephyr场景的扩展。1.1 符号符号分为**可见(visible)和不可见(invisible)**符号。可见符号:定义时带prompt(提示文字)的符号。它们会出现在交互式界面里,也可以在配置文件里设置。例如:config FPU bool "Support floating point operations" depends on HAS_FPU不可见符号:定义时没有prompt的符号。它们不出现在界面里,无法直接控制其值。例如:config CPU_HAS_FPU bool help This symbol is y if the CPU has a hardware floati