本文档仅适用于AliOS Things3.1及其后续版本,3.1之前版本请忽略。

预定义配置是由系统预设,或者用户创建的配置内容,可以在工程中复用并作为工程配置的起点。系统使用统一的SDK目录AOS_SDK_PATHbuild/configs存放预定义配置文件,用户可以加载已有配置,也可以将自定义配置保存至该目录。当用户自行创建配置文件时应当遵守以下规则:

  • 文件名必须以“_defconfig”结尾,例如:profile-linkkit-mk3060_defconfig
  • 文件名不能包含字符“@”,如需表达App@Board组合请使用其他字符代替,例如:app-board_defconfig

加载预定义配置

# 检查有效配置列表
aos make list-defconfig

# 加载预定义配置
aos make <profile-name_defconfig>

保存预定义配置

# 情形一:保存所有配置选项,包括未配置选项
# <AOS_SDK_PATH> 为AliOS Things的源代码目录
cp .config <AOS_SDK_PATH>/build/configs/<config_name>_defconfig

# 情形二:仅保存最少配置选项,不包括默认选项
aos make savedefconfig
cp .defconfig <AOS_SDK_PATH>/build/configs/<config_name>_defconfig

使用menuconfig修改配置

通过menuconfig,用户可以方便地调整系统和组件配置,生成符合项目需要的配置文件,具体操作步骤如下:

1)执行aos make menuconfig启动图形配置菜单:

如上图所示,menuconfig基本操作包括:

  • 上下箭头键选择菜单,左右箭头键选择功能按钮
  • 当选择“Select”按钮时,回车键进入高亮菜单
  • 按空格键“选中/取消”菜单列表中的配置选项
  • 选择“Exit”按钮返回上级菜单/退出配置界面,连续按两次Esc键退出配置界面
  • 选择“Save”按钮保存当前配置
  • 选择“Load”按钮加载已保存配置

2)修改配置,如:修改固件版本号

从主菜单选择“Application Configuration”,选择“Firmware Version”单选菜单,修改固件版本号,如图:

3)保存配置并退出:选择“Save”按钮,保存当前配置为“./.config”:

保存并退出配置界面,完成配置。构建系统将自动把.config的配置信息同步到aos_config.h文件中。

使用aos_config.h修改配置

aos_config.h分为2部分:用户自定义的宏和组件的配置所对应的宏。

初始情况下,用户自定义的宏区域不包含任何宏,由用户添加。

组件配置的宏是和.config里面的配置一一对应的,两者是靠编译系统来实现自动同步的。

用户可直接修改aos_config.h里的配置项,如修改固件版本信息: 1) 打开aos_config.h,修改固件版本号后保存退出。 2)编译的时候,构建系统将自动把aos_config.h里修改的配置自动同步到.config

aos make

3)除了编译的时候,会同步aos_config.h和.config的配置信息,使用aos make menuconfig时也会自动同步。

aos make menuconfig

首先构建系统将自动检测aos_config.h是否有修改,若有,则将配置信息同步到.config文件中; 然后打开menuconfig图形化界面,修改配置; 最后保存配置信息至.config文件后,构建系统又将.config的配置信息自动同步到aos_config.h文件中。

增加组件

用户使用aos create project创建了工程以后,构建系统会自动选择当前App和board所依赖的组件。 后续的开发中,用户还可以通过两种方式增加新的组件。 1)在应用代码里面包含相应组件的头文件,如增加cli组件。

// helloworld.c
#include <aos/kernel.h>
#include <aos/cli.h>   // 增加组件头文件

// other code
……

2)修改工程目录下的aos.mk,在$(NAME)_COMPONENTS_CUSTOMIZED +=这一行加上组件名。

# 通过源代码里面#include <组件头文件> 引入的组件,自动存放在此处。用户不要修改。
$(NAME)_COMPONENTS_CUSTOMIZED := 

# 用户想要通过修改aos.mk新增的组件,请在此处修改。
$(NAME)_COMPONENTS_CUSTOMIZED += cli

# 将上述组件传递给构建系统。用户不要修改。
$(NAME)_COMPONENTS += $($(NAME)_COMPONENTS_CUSTOMIZED)

3)增加了新的组件以后,调用aos make或者aos make menuconfig等命令后,新的组件配置将自动出现在aos_config.h中的组件配置宏区域。

清除工程和配置

当需要清除当前工程和全部配置文件时,恢复到初始状态,执行命令:

aos make distclean

视频演示