第3篇 zephyr 工程配置(Kconfig)

目录

摘要

1 图形化配置界面

1.1 menuconfig启动

1.2 guiconfig启动

2 工程相关的Kconfig文件

2.1 .config文件

2.2 prj.conf文件

2.3 Kconfig.defconfig文件

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型号等。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章