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

本文将详细介绍AliOS Things 3.1支持的构建命令及其用途,帮助开发者快速掌握高级命令行构建功能。

AliOS Things 3.1代码可视化裁剪页面地址:https://aliosthings.iot.aliyun.com/aos/download

关于工程配置请参考更多配置操作

AliOS Things 2.1开始全面支持menuconfig配置系统,并将工程配置做为构建的必要步骤之一。与工程配置相关的命令包括:

  • 根据用户指定的App、Board创建工程,并生成默认配置:

aos create project -b board -t templateapp -d destdir appname

其中-b 指定板子名称,必选。 -t 指定App模板,可选;若不指定,则使用最精简的templateapp作为模板。 -d 指定工程目录,可选;若不指定,则使用当前目录。

  • 打开menuconfig菜单,允许用户在交互状态下自定义工程配置:

aos make menuconfig

  • 列出当前可以用的预定义配置:

aos make list-defconfig

  • 为当前工程加载预定义配置:

aos make <configname>_defconfig

更多关于预定义配置的说明请参考更多配置操作

  • 清除工程编译结果,恢复配置文件至初始状态(“aos make clean”仅清除编译结果)

aos make distclean

编译相关命令和参数

在完成工程配置后,编译命令简化为:

aos make

通过附加命令行参数的方式可以控制编译行为,实现高级编译功能:

aos make [VAR=value]

有效命令行参数包括:

  • MBINS=[app|kernel]:分别生成App、Kernel镜像,详情请参见多bin特性
  • BUILD_TYPE=[debug|release|release_log]:控制构建类型:
  • debug:编译时不优化(-O0)并启用日志
  • release:编译时优化(-Os),不启用日志
  • release_log:默认值,编译时优化,并启用日志
  • COMPILER=[armcc|iar|rvct]:使用指定编译器执行编译,仅支持Windows环境
  • VERBOSE=1:编译时输出详细命令
  • 更多命令行参数请查看aos make help

创建组件相关命令和参数

在AliOS Things目录下,基于组件脚手架创建一个新的组件,命令如下:

aos create component -t <component_type> <component_name>

其中 component_type 表示组件类型,目前支持的类型有:

bus: 					本地通讯协议
dm:						设备管理
fs:						文件系统
generals:			通用类
gui:					人机交互界面
language:			脚本引擎
network: 			IP网络协议栈
peripherals:	外设驱动
security:			安全
service:			应用组件
utility:			工具类
wireless:			无线类

component_name 表示组件名称。

如果组件内部带示例APP,可使用aos open命令打开,调试组件功能。

aos open <component_name> -b <board_name>

其中 component_name 表示组件名称。 board_name 表示board名称。

其他命令

AliOS Things 3.1构建系统还支持以下命令:

  • 查看帮助

aos make help

  • 清除构建生成文件

# 清除构建生成文件,不包括配置文件
aos make clean

# 连同配置文件一同清除
aos make distclean

  • 仅生成Keil、IAR工程,不执行编译

# 生成Keil工程
aos make export-keil

# 生成IAR工程
aos make export-iar

  • 将aos_config.h的配置项同步到.config文件中

aos make update

如果用户安装了graphviz,执行该命令也会生成组件依赖文件comp_deps_topo.png。 如果没有安装graphviz,会提示sh: 1: dot: not found信息,但是不影响上述的同步操作。

更多命令和参数请以aos make help为准。