1.menuconfig
menuconfig是一个图形化配置工具,是依据 Kconfig 中的规则分析出构建选项目录显示给我们进行选择;将用户选择/配置信息会保存在".config"文件中。".config"文件中的保存的内容会同步到 rt_config.h 中自动生成一些宏,这些宏信息会在scons构建过程中,用于选择参与构建的模块。
处理过程参考这个:
一般我们会在一个具体单板目录下,例如我们编译rpi4这个工程,就在bsp\raspberry-pi\raspi4-64 这个目录下运行命令即可。menuconfig命令会读取当前目录下的Kconfig,这个文件中会包含其他一些Kconfig文件。这样就可以扩展出整个工程的配置。
碰到的问题:
在bsp\raspberry-pi\raspi4-64\Kconfig文件中包含了source "$PKGS_DIR/Kconfig",并且在menuconfig图形化界面中会显示RT-Thread online packages配置项。但是在工程中找不到和packages相关的Kconfig文件。
原因解释:
这个是指env工具目录下的一个packages目录下的Kconfig文件。
具体到我自己的环境就是c:\env-windows-1.3.5\packages目录下的Kconfig
1.scons命令
SCons 使用 SConscript 和 SConstruct 文件来组织源码结构并进行构建,SConstruct是scons构建的主脚本。
rtconfig.py 是一个 RT-Thread 标准的编译器配置文件,控制了大部分编译选项。
碰到的问题:
在bsp\raspberry-pi\raspi4-64\SConscript 文件只包含了bsp\raspberry-pi\raspi4-64\目录下的一些文件,不清楚rt-thread主目录下的src,components,libcpu等目录是怎么包含进来的。。
原因解释:
这个需要看SConscript中的函数,objs=PrepareBuilding这个函数的实现,实际在这个函数里面,包含了上述目录。
参考资料: