目录
2.4 nrf52840dk_nrf52840_defconfig文件
本学笔记基于zephyr 工程版本 2.2.99,主机环境为ubuntu18.04,开发平台 nrf52840dk_nrf52840
摘要
zephyr工程通过Kconfig进行配置管理,与linux工程配置相似,zephyr支持linux开发者熟悉的menuconfig,同时还也支持guiconfig。
注意: 这篇笔记基于samples/basic/blinky示例工程进行讲解。
1 图形化配置界面
启动图形配置界面首先,需要初始化默认工程,生成默认的配置文件.config,这样需要执行如下命令:
hhp@ubuntu:~/zephyrproject$ west -b nrf52840dk_nrf52840 zephyr/samples/basic/blinky/
执行命令后,生成~/zephyrproject/build/.config
1.1 menuconfig启动
启动menuconfig,执行如下命令,出现menuconfig界面。熟悉Linux开发的童鞋一定对这个界面非常熟悉。
hhp@ubuntu:~/zephyrproject$ west build -t menuconfig
1.2 guiconfig启动
hhp@ubuntu:~/zephyrproject$ west build -t guiconfig
2 工程相关的Kconfig文件
2.1 .config文件
.config包含工程全部的配置,首先它由各种Kconfig文件初始生成,然后可以通过图形界面menuconfig或guiconfig进行配置。初始生成.config时主要包括应用路径下的 prj.conf、板级目录下的Kconfig.defconfig和nrf52840dk_nrf52840_defconfig和整个工程中包含的Kconfig。
2.2 prj.conf文件
这个文件的优先级最高,如果其他文件包含与prj.conf文件相同的配置项,则默认使用prj.conf文件文件里面的配置项。
2.3 Kconfig.defconfig文件
这个文件的主要目的是,修改Kconfig配置项中的默认值,比如在一个Kconfig文件中包含如下配置项:
config USB_DEVICE_STACK
bool
default n
说明在Kconfig中CONFIG_USB_DEVICE_STACK=n
而在Kconfig.defconfig中
config USB_DEVICE_STACK
default y
则CONFIG_USB_DEVICE_STACK的默认值是y。这个Kconfig.defconfig文件的配置项优先级,高于普通的Kconfig。
2.4 nrf52840dk_nrf52840_defconfig文件
这个文件包含一个板级的配置项,这个文件根据具体的硬件添加需要的配置项,比如一个板级的SOC型号等。