NextPilot飞行系统基于国产RT-Thread嵌入式实时操作系统进行打造。RT-Thread采用SCons + Kconfig 进行项目的配置和构建,C语言项目的裁剪配置本质上通过条件编译和宏的展开来实现的,RT-Thread借助Kconfig这套机制更方便的实现了这一功能。
由于历史原因RT-Thread V5.1.0及之前版本均借助kconfig-frontends工具解析Kconfig文件。而kconfig-frontends历史悠久,很多特性和功能已经跟不上时代,也逐渐被linux抛弃了。
终于RT-Thread的Kconfig配置系统在最近迎来的重大升级:[Feature] 添加kconfiglib全面支持,放弃kconfig-frontends by Later-Comer · Pull Request #9050 · RT-Thread/rt-thread (github.com)
注意:为了配合RT-Thread更新kconfiglib工具,env master和env-windows v2.0也同步升级了,新的工具链无法兼容RT-Thread v5.1.0及之前版本,老版本RT-Thread需要使用env v1.5.x和env-windows v1.5x
Kconfiglib简介
Kconfiglib是一个Python2/3库,用于解析和操作Kconfig配置文件,这些文件在Linux内核和其他开源软件中广泛使用。通过使用Kconfiglib,您可以更轻松地与Kconfig文件交互,例如生成菜单配置界面、读取和设置变量值以及自动完成功能。
安装kconfiglib库
可以通过pip来安装kconfiglib:
pip install kconfiglib
从kconfiglib v13.0.0开始,windows环境下需要自行安装windows-curses:
pip install windows-curses
pip安装工具会自动生成以下可以执行程序:
- menuconfig:命令行版本
- guiconfig:图形用户界面版本
- oldconfig:update an old .config file after the Kconfig files have changed
- olddefconfig
- savedefconfig
- defconfig: generate the initial configuration from an existing configuration file.
- alldefconfig
- allnoconfig
- allmodconfig
- allyesconfig
- listnewconfig
- genconfig:generate a header file, by default, it is saved as config.h. Normally, g

最低0.47元/天 解锁文章
931

被折叠的 条评论
为什么被折叠?



