kconfig语法

ads
点击上方“蓝字”,关注我。


大家好!我是鸿蒙大熊老师,专注鸿蒙开发

今天给大家讲解下鸿蒙轻内核LiteOS-M和LiteOS-A的图形化配置方法。




2.1 支持的参数

上文,我们知道了make menuconfig支持参数,我们详细看下代码。文件位置在kernel/liteos_a/Makefile代码片段如下:如果指定了CONFIG参数,则使用用户指定的产品配置文件。如果开启了TEE,则使用TEE版本的产品配置文件。如果开启了RELEASE,则使用release版本产品配置文件,否则使用debug版本的产品配置文件。

2.2 menuconfig内核配置

使用make menuconfig进行内核配置,Makefile源码片段如下:

update_config menuconfig:

$(HIDE)test -f "$(CONFIG)" && cp -v "$(CONFIG)" .config && menuconfig $(args) && savedefconfig --out "$(CONFIG)"


可以看出,update_config和menuconfig这2个target效果相同,一般使用make menuconfig即可。执行的操作包含如下3个:

  • 判断产品配置文件是否存在,如果存在则把配置文件复制到内核根目录并命名为.config

  • 展示menuconfig用户配置界面,供开发者进行内核配置

  • 保存最小配置到产品产品文件,可以使用make savedefconfig args="–help"查看命令的解释。

设置产品后,要修改产品的.config配置,目前可以在内核目录下执行make menuconfig,没有make参数的情况下该命令默认会自动找到你hb set时所选择的产品的debug.config配置进行menuconfig配置,如果想要修改产品的release.config配置则可以使用参数RELEASE=1。前提是产品有预置release.config配置。同样的,可以使用参数TEE=1来修改产品的tee版本的.config配置。命令如下:

另外,如果想手动指定产品配置,而不是自动使用hb set时所选择的产品的配置,则可以使用
CONFIG=/path/to/the/xx.config参数,如:

3、Kconfig高级语法

Kconfig大部分工程师都了解,快速介绍几个鸿蒙轻内核中使用到的稍微高级的语法。

  • osource

我们知道kconfig使用source来引用其他kconfig文件,而osource等于optional source,表示可选的,如果osource指定的kconfig文件不存在,也不报错。类似,makefile中的include和-include的差异。

  • rsource

rsource等于 relative source,后面引用的kconfig文件支持相对路径。路径相对于包含rsource语句的kconfig而言。

  • orsource

等于osource+rsource。

kconf的几个命令如下

  • –oldconfig

  • 基于提供的.config文件,根据Kconfig文件修改配置文件

  • –silentoldconfig

  • 等同于oldconfig,静默模式,并修改deps依赖即生成头文件。

  • –olddefconfig

  • 等同于silentoldconfig,对于新符号使用默认值

  • –savedefconfig

  • 把当前最小的配置保持到文件

小结

本文介绍了Kconfig的基础知识,和鸿蒙轻内核的图形化配置。


#扫码关注我#

鸿蒙大熊老师
和你一起学鸿蒙


最后编辑于:2024/1/10 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com