全部文档
OneOS简介 硬件支持 编译构造工具 API参考文档 高级语言 用户编程手册 应用笔记 FAQ

Kconfig编写


OneOS的Kconfig结构

OneOS的Kconfig文件按照下面的逻辑结构进行组织的:


menuconfig首先会在当前目录下寻找入口Kconfig文件,即顶层Kconfig文件,并解析;

顶层Kconfig会source调用OneOS源码的根目录下的Kconfig文件;

根目录Kconfig文件会source调用各个主要代码路径下的kconfig,通过递归source子目录下的kconfig文件;

如上流程,menuconfig完成对系统配置文件kconfig的加载。用户要新添加Kconfig宏定义,可以参考OneOS的kconfig结构,在相应的kconfig文件中直接添加宏定义,或者通过source加载自己的kconfig文件。


顶层Kconfig

顶层Kconfig是menuconfig加载的第一个kconfig文件,主要功能是:

定义menconfig主菜单标题;

定义表示顶层Kconfig与OneOS源码根目录的相对路径宏OS_ROOT;

加载子kconfig文件,如根目录Kconfig等。

举例说明如下图:

定义顶层Kconfig文件与源码根目录的相对路径宏OS_ROOT是为了方便用户调整自己的顶层Kconfig位置。

举例说明:OneOS源码路径是"E:\OneOS", 而用户自己的工程顶层Kconfig位于"E:\OneOS\project\myproject"中,这种情况下顶层Kconfig所在目录回退两级目录即可进入源码根目录,因此应该定义为“OS_ROOT=../..” 。如果用户自己的顶层Kconfig位于“E:\OneOS\myproject”中,则相应的需要定义相对路径宏为"OS_ROOT=.." 。


根目录Kconfig

根目录kconfig的主要功能就是指定需要加载的各个模块目录下的kconfig,如图示:


kconfig语法

OneOS的kconfig语法与开源的linux Kconfig语法完全一致,用户可以自行网上查询,或参考linux官方文档https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html

results matching ""

    No results matching ""

    返回顶部