第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型號等。

 

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