2.1 LiteOS编译框架和开发工具

2.1.1 LiteOS编译框架

Huawei LiteOS使用Kconfig文件配置系统,基于GCC/Makefile实现组件化编译。无论是在Linux下使用make menuconfig命令配置系统,还是在Windows下使用Huawei LiteOS Studio进行图形化配置,Huawei LiteOS都会同时解析、展示根目录下的.config文件和tools/menuconfig/config.in文件(该文件包含各个模块的Kconfig文件),同时在开发板的include文件夹下生成menuconfig.h。config.in文件由Kconfig语言(一种菜单配置语言)编写而成。config.in文件决定了要展示的配置项,.config文件决定了各个配置项的默认值。

Huawei LiteOS通过在根目录下执行make命令完成自动化编译整个工程。对于根目录下的Makefile文件,其中包含config.mk,config.mk又包含los-config.mk,而los-config.mk则包含了各个模块的Makefile和.config文件,定义了对整个工程的编译链接规则。各个编译文件的内在关系如图2.1所示。

图2.1 各个编译文件的内在关系