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