Setting Kconfig configuration values
生成的配置文件:zephyr/build/.config
: for CMake use.zephyr/build/zephyr/include/generated/autoconf.h
: for c file use.
所有的Kconfig配置会merge如下路径的Kconfig files:
board/<arch>/<BOARD>/<BOARD>_defconfig
- CMake中定义的
CONFIG_XXX
- Application configuration(APP 目录下的Kconfig相关文件)
第三点Application configuration又会从如下路径获取Kconfig,默认使用prj.conf
:
- 如果定义了
CONF_FILE
, 会把该文件的Kconfig merge进来。CONF_FILE
可以在如下定义- App的
CMakeLists.txt
, 在find_package(zephyr)
前定义。 - west直接传入
-DCONF_FILE=<conf file(s)>
- From the CMake variable cache
- App的
- 如果未定义
CONF_FILE
, 如果存在prj_<BOARD>.conf
,merge进prj.conf
。 - 如果存在
board/<BOARD>.conf
,merge进prj.conf
。 - 如果存在
board/<BOARD>_<revision>.conf
,merge进prj.conf
。 - merge必须有的
prj.conf
。
如果board/
下的<BOARD>_defconfig
和APP/
下的Kconfig冲突了,以APP的为准。